Python程序设计题--十二星座

古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、魔蝎座、水瓶座和双鱼座。给出二维数据存储 CSV 文件(SunSign.csv),内容如下:

星座,开始月日,结束月日,Unicode
水瓶座,120,218,9810
双鱼座,219,320,9811
白羊座,321,419,9800
金牛座,420,520,9801
双子座,521,621,9802
巨蟹座,622,722,9803

请编写程序,读入 CSV 文件中数据,循环获得用户输入,直至用户输入 "exit" 退出。根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。如果输入的星座名称有误,请输出“输入星座名称有误!”。

示例1:

输入:"
白羊座
金牛座
双子座
exit
"
输出:"
♈座的生日位于321-419之间
♉座的生日位于420-520之间
♊座的生日位于521-621之间
"

注意:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

  • 输入使用 input(),不要增加额外的提示信息;
  • 从附件中读取 utf-8 编码文本数据。

 答案:

# 读取CSV文件数据
import csv

def read_csv(filename):
    data = {}
    with open(filename, 'r', encoding='utf-8') as file:
        reader = csv.reader(file)
        next(reader)  # 跳过标题行
        for row in reader:
            sign, start, end, unicode = row
            data[sign] = (int(start), int(end), chr(int(unicode)))
    return data

# 星座数据
sun_signs = read_csv('SunSign.csv')

# 循环获取用户输入
while True:
    user_input = input()
    if user_input.lower() == 'exit':
        break
    elif user_input in sun_signs:
        start_date, end_date, unicode_char = sun_signs[user_input]
        print(f"{unicode_char}座的生日位于{start_date}-{end_date}之间")
    else:
        print("输入星座名称有误!")

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值