URSplendid 发表于 2020-4-24 12:21:20

【Python】萌新求助,判断闰年里面:isinstance()不会用

temp = input("请输入一个年份:")
while not temp.isdigit():
    temp = input("出错啦,请输入一个整数:")
else:
    yearnumber = int(temp)
    if isinstance(yearnumber/4,int):
      print("这是一个闰年")
    else:
      print("这不是个闰年")

大佬们,我想通过if isinstance(yearnumber/4,int):这句话来判定年份是否被4整除,但是输入闰年年份他也是显示不是闰年,错在哪?
{:10_266:}

永恒的蓝色梦想 发表于 2020-4-24 12:26:24

改成if not yearnumber&3

suchocolate 发表于 2020-4-24 12:28:19

判断整除测余数, ininstance是判断类型的。
if yearnumber % 4 == 0:

qiuyouzhi 发表于 2020-4-24 12:28:46

除法返回的永远是小数,所以为整数是不可能的
乖乖用取余或者楼上的方法吧

URSplendid 发表于 2020-4-24 12:31:06

永恒的蓝色梦想 发表于 2020-4-24 12:26
改成

谢谢!{:9_232:}

URSplendid 发表于 2020-4-24 12:31:58

suchocolate 发表于 2020-4-24 12:28
判断整除测余数, ininstance是判断类型的。
if yearnumber % 4 == 0:

谢谢!{:10_254:}{:10_254:}{:10_254:}

URSplendid 发表于 2020-4-24 12:33:05

qiuyouzhi 发表于 2020-4-24 12:28
除法返回的永远是小数,所以为整数是不可能的
乖乖用取余或者楼上的方法吧

哦,这么回事。。。我以为用整数除以整数的如果没余数就是整数了。。。
谢谢!{:10_254:}{:10_254:}

suchocolate 发表于 2020-4-24 14:38:51

URSplendid 发表于 2020-4-24 12:31
谢谢!

实际2楼的与运算检测比特的方式更高效,不过需要理解一下。
页: [1]
查看完整版本: 【Python】萌新求助,判断闰年里面:isinstance()不会用