year = int(input("请输入一个年份:"))
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
print("你输入的是闰年")
else:
print("你输入的是平年")
在这里我们可以看到,此时的代码只能输入整型数据,输入别的数据会提示错误。所以,针对此问题,我选择加入if语句判断输入的数据类型,当为整型数据时,代码可以跳转到对闰年,平年的判断,当不是整型数据时,可以重新输入。
但是此时的问题是当我再次输入错误时没办法进行重新输入了,而我希望的是提示信息错误的同时还可以重新输入,所以,我使用了while循环语句嵌套if语句进行数据的判断和重新输入,直到输入正确的数据时退出循环。
year = input("请输入一个年份:")
while True:
if year.isdigit(): # 检测输入的字符串是否只由数字组成
year = int(year)
break
else:
year = input("输入错误,请重新输入一个年份:")
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
print("你输入的是闰年")
else:
print("你输入的是平年")