7-3 zust-sy7-11输出生肖和星座
时间: 2025-03-20 08:18:58 浏览: 72
题目“7-3 zust-sy7-11 输出生肖和星座”要求根据用户提供的出生日期,输出对应的生肖和星座。以下是解决问题的基本思路以及Python代码示例:
### 思路解析:
1. **生肖判断**:
生肖是以12年为周期循环的,给定某一年份,通过 `(year - 4) % 12` 可以确定该年的生肖(假设从公元4年开始)。十二生肖依次为:鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。
2. **星座判断**:
每个星座对应特定的时间范围。例如水瓶座 (January 20 至 February 18),双鱼座 (February 19 至 March 20) 等等。可以根据月份和日子直接比对时间区间得出所属星座。
### 示例代码:
```python
def get_zodiac(month, day):
if (month == 1 and day >= 20) or (month == 2 and day <= 18): return '水瓶座'
elif (month == 2 and day >= 19) or (month == 3 and day <= 20): return '双鱼座'
elif (month == 3 and day >= 21) or (month == 4 and day <= 19): return '白羊座'
elif (month == 4 and day >= 20) or (month == 5 and day <= 20): return '金牛座'
elif (month == 5 and day >= 21) or (month == 6 and day <= 21): return '双子座'
elif (month == 6 and day >= 22) or (month == 7 and day <= 22): return '巨蟹座'
elif (month == 7 and day >= 23) or (month == 8 and day <= 22): return '狮子座'
elif (month == 8 and day >= 23) or (month == 9 and day <= 22): return '处女座'
elif (month == 9 and day >= 23) or (month == 10 and day <= 23): return '天秤座'
elif (month == 10 and day >= 24) or (month == 11 and day <= 22): return '天蝎座'
elif (month == 11 and day >= 23) or (month == 12 and day <= 21): return '射手座'
else: return '摩羯座'
def get_animal_sign(year):
animals = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪']
return animals[(year - 4) % 12]
# 输入生日
birth_year = int(input("请输入出生年份(如2000):"))
birth_month = int(input("请输入出生月份(如05):"))
birth_day = int(input("请输入出生日数(如18):"))
zodiac = get_zodiac(birth_month, birth_day)
animal_sign = get_animal_sign(birth_year)
print(f"您的生肖是:{animal_sign}")
print(f"您的星座是:{zodiac}")
```
---
阅读全文
相关推荐



















