秋云青 发表于 2020-9-29 20:28:31

问题

temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")
year = int(temp)
if year/400 == int(year/400):
    print(temp + ' 是闰年!')
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
      print(temp + ' 是闰年!')
    else:
      print(temp + ' 不是闰年!')



想问一下year/400 == int(year/400)是什么意思?里面的两个year都是输入的年份吗?

昨非 发表于 2020-9-29 20:33:35

本帖最后由 昨非 于 2020-9-29 20:35 编辑

就是能整除400的意思
a = 1854/400
b = int(1854/400)         
print(a,b)      

a = 1600/400
b = int(1600/400)      
print(a,b)      
print(a==b)
      

疾风怪盗 发表于 2020-9-29 20:35:09

你打印看一下就知道了
比如输入2000
print(year/400)#5.0
print(int(year/400))   #5
是拿5.0和5来做判断

如果输入2011
是拿5.0025和5来做判断

意思就是能整除400年的就是闰年
其实这句可以换成
if year % 400 == 0:
    print(temp + ' 是闰年!')
else:
    if (year % 4 ==0) and (year % 100 != 0):
      print(temp + ' 是闰年!')
    else:
      print(temp + ' 不是闰年!')

happy含笑 发表于 2020-9-30 06:48:55

页: [1]
查看完整版本: 问题