Python计算闰年——如何计算公元前年份?
while 1 :year = input('请给定一个年份:',)
if year.isdigit(): #防止计算报错,添加一个判断是否是数字的语句
y = int(year)
if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 :
print(year+'是闰年。\n')
else:
print(year+'不是闰年。\n')
else:
print('请输入有效年份!\n(只包含数字)\n')
新人求教:
为了防止报错,添加了一个判断语句来鉴定是否是数字;
但是输入负数时,‘isdigit’却将负数判定为False,我知道是因为负数夹杂了‘-’号所致,所以想请教一下,有没有其他简洁的方法可以解决这个问题?
while 1 :
try:
year = input('请给定一个年份:',)
y = int(year)
if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 :
print(year+'是闰年。\n')
else:
print(year+'不是闰年。\n')
except ValueError:
print('\n请输入有效年份!\n') 可以这样
while 1 :
year = input('请给定一个年份:',)
if year == '+' or year == '-':
prefix = year
year = year
else:
prefix = ''
if year.isdigit(): #防止计算报错,添加一个判断是否是数字的语句
year = prefix + year
y = int(year)
if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 :
print(year+'是闰年。\n')
else:
print(year+'不是闰年。\n')
else:
print('请输入有效年份!\n(只包含数字)\n')
有几个问题:
1.最好用异常处理,等学到了try...except就会发现,处理起来方便的多。
2.闰年的计算不涉及到公元前
3.如果一定要计算负值,也要调整一下,因为没有公元0年。 净扯,公元前 哪来的 闰年的概念 wp231957 发表于 2020-2-17 17:01
净扯,公元前 哪来的 闰年的概念
我书读的少,百度百科里面写着公元前是有闰年的{:10_245:} 一个账号 发表于 2020-2-17 16:53
求问为什么可以这样做?except那一行是什么意思
页:
[1]