year = int(input('请输入一个年份:')) # 输入年份并转换为整数
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): # 正确的闰年判断条件
print(year, '是闰年')
else:
print(year, '是平年')
⬆️上述代码其实是有一定问题的,当正常输入一个整数时,这个代码能够正常跑起来,但当我们输入一个含字母或是一个浮点数时此时就会报错,所以要先加一个步检查字符串中是否都是数字;
修改:⬇️
year = input('请输入一个年份:')
while not year.isdigit():
year = input("输入无效,请输入一个整数:")
year = int(year)
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(year, '是闰年')
else:
print(year, '是平年')
while not是 Python 中的一个循环控制结构,用于在某个条件为假时反复执行代码块。它的工作原理是:
while
循环会在给定条件为True
时一直执行循环体内的代码。not
是逻辑取反操作符,表示条件为 假 时才会进入循环。