编写一个程序,实现循环输入4位出生年份,判断用户的属相,如果用户输入Y或者y,输出目前年份的属相;如果用户输入Q或者q键,退出系统。(1992年为申(猴)年,生肖12年更替一次:子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪python
时间: 2024-10-25 13:15:44 浏览: 54
可以编写如下的Python程序来实现这个功能:
```python
def get_zodiac(year):
zodiacs = ['子鼠', '丑牛', '寅虎', '卯兔', '辰龙', '巳蛇', '午马', '未羊', '申猴', '酉鸡', '戌狗', '亥猪']
return zodiacs[year % 12]
while True:
birth_year = input("请输入您的4位出生年份(例如1992),或输入Y/y查看当前年份的属相,Q/q退出: ")
if birth_year.isdigit() and len(birth_year) == 4:
birth_year = int(birth_year)
current_year = datetime.datetime.now().year
if birth_year <= current_year:
print(f"您出生于{birth_year}年,属相是{get_zodiac(birth_year)}")
else:
print("输入的年份无效,请输入正确的4位年份.")
elif birth_year.lower() in ['y', 'yes']:
current_year_zodiac = get_zodiac(current_year)
print(f"今年是{current_year}年,属相是{current_year_zodiac}")
elif birth_year.lower() in ['q', 'quit', 'no']:
break
else:
print("输入错误,请输入有效的选项.")
```
在这个程序中,我们首先定义了一个函数`get_zodiac`来获取指定年份的生肖。然后在一个无限循环中,不断提示用户输入,根据用户输入进行相应的操作:检查是否为有效年份并计算属相,或者直接显示当前年的属相,或者退出循环。
阅读全文