最新python第010讲闰年题
year = input('请输入一个年份:')while not year.isdigit():
year = input("抱歉,您的输入有误,请输入一个整数:")
year = int(year)
if year % 4 == 0:
print("%d是闰年"%(year))
else:
if year % 4 == 0 and year % 100 != 0:
print('%d是闰年'%(year))
else:
print('%d不是闰年'%(year))
这样算出来1900年也是闰年,不对吧。。。 看一下条件再
year = input('请输入一个年份:')
while not year.isdigit():
year = input("抱歉,您的输入有误,请输入一个整数:")
year = int(year)
if year % 4 == 0 and year % 100 != 0:
print("%d是闰年"%(year))
else:
if year % 400 == 0:
print('%d是闰年'%(year))
else:
print('%d不是闰年'%(year))
本帖最后由 jackz007 于 2021-2-4 15:18 编辑
能被 4 整除就直接判定是闰年焉能不错?
在能被 4 整除的年份中,还需要扣除能被 100 整除的,补回能被 400 整除的。
告诉你一个妙招,在一个逻辑表达式中,凡是需要扣除的条件一律用 and 连接,凡是需要添加的条件一律用 or 连接。
f = True
while f:
s = input('请输入一个年份:') . strip()
if s:
try:
year = int(s)
break
except ValueError:
print('抱歉,输入有误')
else:
f = False
if f:
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 :
print("%d 是闰年" % year)
else:
print('%d 不是闰年' % year) 判断条件有问题
只修改一处即可
第一个if的条件中,year % 4 改为 year % 400
页:
[1]