请编写程序,读入 SunSign.csv 文件中数据,循环获得用户输入,直至用户输入 "exit" 退出。根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。如果输入的星座名称有误,请输出“输入星座名称有误!”,从文件中读取文本数据 采用utf-8 编码,输出星座字符形式用chr()函数。
时间: 2024-02-09 17:12:55 浏览: 24
好的,可以使用Python的csv模块来读取CSV文件,并且在读取时指定编码方式为utf-8。下面是代码:
```
import csv
# 读取CSV文件
with open('SunSign.csv', 'r', encoding='utf-8') as file:
# 使用csv.reader读取CSV文件
reader = csv.reader(file)
# 跳过第一行标题
next(reader)
# 将CSV数据存储到字典中
data = {row[0]: (row[1], row[2], chr(int(row[3]))) for row in reader}
# 循环获得用户输入
while True:
sign = input("请输入星座名称:")
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("输入星座名称有误!")
```
其中,我使用了字典推导式将CSV文件中的数据存储到字典中,并将第三列的数值转换成相应的字符形式。最后,使用循环获得用户输入,并输出对应的结果即可。