吻你不厌 发表于 2020-10-9 20:37:41

萌新上路

temp = input('请输入一个年份:')
while not temp.isdigit():
    print('抱歉,输入不合法,',end='')
    temp = input('请输入一个年份:')
y = int(temp)
if isinstance(y/4,int) and isinstance(y/100,float):
    print('该年是润年')
else:
    if isinstance(y/400,int):
      print('该年是润年')
    else:
      print('该年不是润年')
大佬们,帮忙看一下,我这个代码运行出来为什么400不是闰年了?

昨非 发表于 2020-10-9 20:41:19

a = 2000
print(a/4)
出来的结果是:500.0,所以你第一个if条件判断就是错的

昨非 发表于 2020-10-9 20:45:14


temp = input('请输入一个年份:')
while not temp.isdigit():
    print('抱歉,输入不合法,',end='')
    temp = input('请输入一个年份:')
y = int(temp)
if y%4 == 0 and y % 100 != 0:
    print('该年是润年')
else:
    if y%400 == 0:
      print('该年是润年')
    else:
      print('该年不是润年')

建议换成取余判断

吻你不厌 发表于 2020-10-9 20:48:10

昨非 发表于 2020-10-9 20:41
出来的结果是:500.0,所以你第一个if条件判断就是错的

他为什么会出现.0呢

吻你不厌 发表于 2020-10-9 20:50:46

昨非 发表于 2020-10-9 20:45
建议换成取余判断

%是什么啊,好像还没学。。

昨非 发表于 2020-10-9 20:52:13

吻你不厌 发表于 2020-10-9 20:50
%是什么啊,好像还没学。。

取余号,a%b,得到a对b的余数

吻你不厌 发表于 2020-10-9 20:53:21

昨非 发表于 2020-10-9 20:52
取余号,a%b,得到a对b的余数

谢谢啦
页: [1]
查看完整版本: 萌新上路