Python 星座查询及个性化输出代码详解322


本文将详细介绍如何使用Python编写一个星座查询程序,并实现个性化的星座运势输出。我们将涵盖日期输入验证、星座判断逻辑、运势数据存储和灵活的输出方式等多个方面,最终创建一个功能完善且易于扩展的程序。

星座运势是一个颇受欢迎的话题,许多人喜欢在每日或每周查看自己的星座运势。因此,编写一个能够自动查询和输出星座运势的程序,不仅具有实用价值,也能够作为学习Python编程的优秀案例。本程序将采用简洁易懂的方式,即使是Python初学者也能轻松理解并进行修改。

一、日期输入与验证

程序首先需要获取用户的出生日期。为了保证程序的健壮性,我们需要对用户输入的日期进行严格的验证。我们可以使用Python内置的datetime模块来完成这项工作:```python
import datetime
def get_birthday():
while True:
try:
birthday_str = input("请输入您的出生日期(YYYY-MM-DD): ")
birthday = (birthday_str, "%Y-%m-%d").date()
return birthday
except ValueError:
print("日期格式错误,请重新输入(YYYY-MM-DD)。")
birthday = get_birthday()
```

这段代码使用一个while循环和try-except块来处理潜在的ValueError异常,确保用户输入的日期格式正确。函数将字符串转换为日期对象。

二、星座判断逻辑

根据出生日期判断星座,需要预先定义每个星座对应的日期范围。我们可以使用一个字典来存储这些信息:```python
constellation_dict = {
"白羊座": ((1, 3, 21), (1, 4, 19)),
"金牛座": ((1, 4, 20), (1, 5, 20)),
"双子座": ((1, 5, 21), (1, 6, 21)),
"巨蟹座": ((1, 6, 22), (1, 7, 22)),
"狮子座": ((1, 7, 23), (1, 8, 22)),
"处女座": ((1, 8, 23), (1, 9, 22)),
"天秤座": ((1, 9, 23), (1, 10, 23)),
"天蝎座": ((1, 10, 24), (1, 11, 22)),
"射手座": ((1, 11, 23), (1, 12, 21)),
"摩羯座": ((1, 12, 22), (1, 1, 19)),
"水瓶座": ((1, 1, 20), (1, 2, 18)),
"双鱼座": ((1, 2, 19), (1, 3, 20)),
}
def get_constellation(birthday):
for constellation, (start_date, end_date) in ():
if start_date

2025-04-20


上一篇:Python 函数 encode() 的深度解析:编码与解码的艺术

下一篇:Python高效删除行尾字符串:方法详解与性能对比