在Python编程语言中,我们可以创建一个字典来存储星座与日期范围的对应关系,以便进行星座查询。在提供的代码中,我们看到一个名为`info`的字典,它包含了十二星座及其对应的日期区间。字典的键是星座名称,值是两个日期(字符串形式),分别表示该星座开始和结束的日期。 ```python info = { '水瓶座': '0120-0218', '双鱼座': '0219-0320', '白羊座': '0321-0419', '金牛座': '0420-0520', '双子座': '0521-0621', '巨蟹座': '0622-0722', '狮子座': '0723-0822', '处女座': '0823-0922', '天秤座': '0923-1023', '天蝎座': '1024-1122', '射手座': '1123-1221', '摩羯座': '1222-0119' } ``` 这个字典的结构使得我们可以快速地根据用户输入的日期查找对应的星座。接下来,代码使用了一个无限循环(`while True`)来不断提示用户输入出生日期,直到用户输入的日期满足条件为止。通过`input()`函数获取用户输入,并检查是否为数字(`isdigit()`方法)。 ```python while True: d = input('请输入出生日期:') if d.isdigit(): print('出生日期:', d) break else: print('输入的日期有误') d = int(d) ``` 一旦用户输入的日期有效,程序会将其转换为整型(`int(d)`),然后遍历`info`字典,使用`for`循环逐一检查每个星座的日期范围。在循环中,使用`split('-')`方法将日期字符串分割成开始和结束日期,并转换为整型(`int(t[0])`和`int(t[1])`)。 ```python for i in info: t = info[i].split('-') t1 = int(t[0]) t2 = int(t[1]) ``` 接下来,程序比较用户输入的日期`d`与每个星座的日期范围,如果`d`在范围内,则输出对应的星座名称并跳出循环。此外,还特别处理了12月22日至12月31日和1月1日至1月19日这两个日期段,因为它们跨年,需要单独判断。 ```python if d >= t1 and d <= t2: print('你的星座是:', i) break if d >= 1222 and d <= 1231: print('你的星座是摩羯座') break if d >= 1 and d <= 119: print('你的星座是摩羯座') break ``` 整个程序的逻辑清晰,易于理解。通过这个示例,我们可以学习到如何使用Python字典、字符串处理、循环以及条件语句来实现特定功能。同时,也展示了如何处理用户输入以及异常情况的检查,确保程序的健壮性。这种类型的应用在实际开发中非常常见,例如在创建交互式工具或数据分析应用时,经常需要根据用户输入进行特定的计算或查询。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js基础但是这个烂怂东西要求标题不能少于10个字才能上传然后我其实还没有写完之后再修订吧.md
- electron-tabs-master
- Unity3D 布朗运动算法插件 Brownian Motion
- 鼎微R16中控升级包R16-4.5.10-20170221及强制升级方法
- 鼎微R16中控升级包公版UI 2015及强制升级方法,救砖包
- 基于CSS与JavaScript的积分系统设计源码
- 生物化学作业_1_生物化学作业资料.pdf
- 基于libgdx引擎的Java开发连连看游戏设计源码
- 基于MobileNetV3的SSD目标检测算法PyTorch实现设计源码
- 基于Java JDK的全面框架设计源码学习项目