import csv # 读取 CSV 文件 with open('SunSign.csv', 'r') as file: 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("输入星座名称有误!")
时间: 2024-01-12 09:03:24 浏览: 126
好的,下面是加入你提出的要求后的代码:
```
import csv # 读取 CSV 文件
# 读取文本数据并采用utf-8编码
with open('SunSign.txt', 'r', encoding='utf-8') as file:
data_list = file.readlines()
# 去掉第一行标题
data_list = data_list[1:]
# 将文本数据存储到字典中
data = {}
for line in data_list:
info = line.strip().split(',')
start_date, end_date, unicode_num = info[1], info[2], info[3]
unicode_char = chr(int(unicode_num))
data[info[0]] = (start_date, end_date, unicode_char)
# 循环获得用户输入
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文件替换成了文本文件,并用 `readlines()` 函数读取每一行数据,然后将每一行的数据存储到字典中。在存储数据时,我将原本的 `int(row[3])` 替换成了 `int(unicode_num)`,并用 `chr()` 函数将其转换为相应的字符形式。最后,输出时直接输出该字符即可。
阅读全文