分析用户星座并输出结果,使用字符串“请输入您的姓名:”提示用户输入姓名 ,格式化打印星座对应日期的信息,使用字符串“请根据如上提示选择对应 编号”(例如,水瓶座请输入:1)提醒用户根据信息输入数字 ,根据用户的输入直接打印分析结果,输出结果为:“**,您好!你的星座 为:***”代码
时间: 2024-03-26 21:41:59 浏览: 169
星座测试的程序,一个能测试出你的星座的软件。
4星 · 用户满意度95%
好的,以下是代码实现:
```python
# 定义星座日期范围
constellation_date = [
['01.20', '02.18', '水瓶座'],
['02.19', '03.20', '双鱼座'],
['03.21', '04.19', '白羊座'],
['04.20', '05.20', '金牛座'],
['05.21', '06.21', '双子座'],
['06.22', '07.22', '巨蟹座'],
['07.23', '08.22', '狮子座'],
['08.23', '09.22', '处女座'],
['09.23', '10.23', '天秤座'],
['10.24', '11.22', '天蝎座'],
['11.23', '12.21', '射手座'],
['12.22', '01.19', '摩羯座']
]
# 获取星座名称
def get_constellation(month, day):
for item in constellation_date:
start_date = item[0]
end_date = item[1]
if (month == '01' and day >= start_date[3:]) or (month == '12' and day <= end_date[3:]) or (
start_date <= month + '.' + day <= end_date):
return item[2]
# 获取用户输入的星座编号
def get_user_input():
print("请输入您的姓名:", end="")
name = input().strip()
print("请根据如上提示选择对应编号:")
for index, item in enumerate(constellation_date):
print("%d. %s" % (index + 1, item[2]))
print("请输入:", end="")
num = input().strip()
return name, num
# 分析用户星座并输出结果
def analyze_constellation():
name, num = get_user_input()
if num.isdigit() and 1 <= int(num) <= 12:
month = input("请输入出生月份(如:01、02等):").strip()
day = input("请输入出生日期(如:01、02等):").strip()
constellation = get_constellation(month, day)
if constellation is not None:
print("%s,您好!你的星座为:%s" % (name, constellation))
else:
print("日期输入有误,请重新输入!")
else:
print("输入有误,请重新输入!")
# 调用函数进行分析
analyze_constellation()
```
运行结果示例:
```
请输入您的姓名:Tom
请根据如上提示选择对应编号:
1. 水瓶座
2. 双鱼座
3. 白羊座
4. 金牛座
5. 双子座
6. 巨蟹座
7. 狮子座
8. 处女座
9. 天秤座
10. 天蝎座
11. 射手座
12. 摩羯座
请输入:1
请输入出生月份(如:01、02等):02
请输入出生日期(如:01、02等):05
Tom,您好!你的星座为:水瓶座
```
阅读全文