8-4 文件基本操作--实验5 分数 30 作者 python课程组 单位 合肥师范学院 古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、魔蝎座、水瓶座和双鱼座。二维数据存储CSV文件(SunSign.csv),内容如下: 星座,开始月日,结束月日,Unicode 水瓶座,120,218,9810 双鱼座,219,320,9811 白羊座,321,419,9800 金牛座,420,520,9801 双子座,521,621,9802 巨蟹座,622,722,9803 狮子座,723,822,9804 处女座,823,922,9805 天秤座,923,1023,9806 天蝎座,1024,1122,9807 射手座,1123,1221,9808 魔蝎座,1222,119,9809 请编写程序,读入CSV文件中数据,循环获得用户输入,直至用户输入 "exit" 退出。根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。如果输入的星座名称有误,请输出“输入星座名称有误!”。
时间: 2023-09-14 10:12:08 浏览: 401
以下是Python代码实现:
```python
import csv
# 读取CSV文件
with open('SunSign.csv', 'r') as file:
reader = csv.reader(file)
# 跳过第一行
next(reader)
# 创建字典,将星座名称作为键,其他信息作为值
data = {row[0]: (row[1], row[2], chr(int(row[3]))) for row in reader}
# 循环获取用户输入
while True:
sign = input("请输入星座名称(输入exit退出):")
if sign == "exit":
break
# 在字典中查找输入的星座名称
if sign in data:
start_date, end_date, unicode_char = data[sign]
print(f"{sign}的出生日期范围是{start_date}到{end_date},对应字符形式为{unicode_char}")
else:
print("输入星座名称有误!")
```
首先使用Python的CSV模块读取CSV文件中的数据,将星座名称、开始月日、结束月日和Unicode值存储在一个字典中。然后使用while循环获取用户输入,如果用户输入为"exit",则退出循环。否则在字典中查找输入的星座名称,如果存在,则输出对应的出生日期范围和Unicode字符形式。否则输出"输入星座名称有误!"。
阅读全文