q5226436 发表于 2020-4-27 23:23:31

判断是否为闰年的问题

print("判断是否为闰年")
year = int(input("请输入一个年份:"))

if isinstance(year/4, int) == 1 and isinstance(year/100, int) == 0:
    print("该年份为闰年")
else:
    if isinstance(year/400, int) == 1:
      print("该年份为闰年")
    else:
      print("该年份不是闰年")


为什么输出结果始终是 该年份不是闰年

天牛 发表于 2020-4-27 23:28:30

应该是求余%运算

麻麦皮 发表于 2020-4-27 23:33:26

print("判断是否为闰年")
year = int(input("请输入一个年份:"))

if year % 4 == 0 and year % 100 != 0:
    print("该年份为闰年")
else:
    if year % 400 == 0:
      print("该年份为闰年")
    else:
      print("该年份不是闰年")

q5226436 发表于 2020-4-27 23:42:12

天牛 发表于 2020-4-27 23:28
应该是求余%运算

我的代码错在哪里呢

q5226436 发表于 2020-4-27 23:48:27

麻麦皮 发表于 2020-4-27 23:33


带哥,我的代码错在哪里

麻麦皮 发表于 2020-4-27 23:55:27

q5226436 发表于 2020-4-27 23:48
带哥,我的代码错在哪里

year/4无论是否整除得到的都是浮点型,即isinstance(year/4, int)永远只会等于0,永远不符合闰年的条件

Twilight6 发表于 2020-4-28 00:00:18

你这个错在只要是 '/' 真除法,得到的值都是float浮点型而你还去判断是不是int
>>>import re
>>>1/1
1.0

永恒的蓝色梦想 发表于 2020-4-28 07:50:15

q5226436 发表于 2020-4-27 23:48
带哥,我的代码错在哪里

带哥……{:10_306:}{:10_250:}

q5226436 发表于 2020-4-29 16:29:14

永恒的蓝色梦想 发表于 2020-4-28 07:50
带哥……

{:10_256:}
页: [1]
查看完整版本: 判断是否为闰年的问题