编写一个函数程序,要求输入一个年份,判断其是否为闰年,且可以连续判 断,输入‘q’时结束程序。程序提示:非世纪年(不能被 100 整除的年份)能被 4 整除的为闰年。(如 2004 年就是闰年,1999 年不是闰年);世纪年(能被 100 整除的年份)能被 400 整除的是闰年(如 2000 年是闰年,1900 年不是闰年)。 要求对输入的值做合法性判断。
时间: 2024-04-09 17:34:14 浏览: 22
可以编写一个函数来检查输入的年份是否为闰年,并添加合法性判断。下面是一个示例程序:
```python
def is_leap_year(year):
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
return True
else:
return False
while True:
user_input = input("请输入一个年份(输入 'q' 结束程序): ")
if user_input.lower() == "q":
break
if not user_input.isdigit():
print("错误:输入的年份必须为数字!")
continue
year = int(user_input)
if year <= 0:
print("错误:输入的年份必须大于0!")
continue
if is_leap_year(year):
print(year, "年是闰年")
else:
print(year, "年不是闰年")
```
这个程序使用一个`while`循环来持续接收用户输入的年份,并判断其是否为闰年。用户可以连续输入年份,直到输入"q"结束程序。在每次循环中,程序会先检查用户输入的合法性,如果不是数字或小于等于零,则会输出相应的错误信息。然后,程序会调用`is_leap_year`函数判断输入的年份是否为闰年,并输出结果。函数`is_leap_year`根据闰年的定义进行判断,如果满足闰年条件,则返回True,否则返回False。