今天我们来一起实践一个小功能:根据用户输入的年月日来计算出计算生肖与星座。
''' 计算生肖与星座案例'''
#先定义十二生肖
#我们都知道十二生肖是 '鼠牛虎兔龙蛇马羊猴鸡狗猪'
#不过我们要调换一下位置 想一下为什么要调换位置?
chinese_zodiac = '猴鸡狗猪鼠牛虎兔龙蛇马羊'
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
#接着定义出星座 我们使用列表的方式
zodiac_name = ['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座',
'巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座']
#再接着根据上面星座的顺序定义星座日期元组
zodiac_date = ((1,20),(2,19),(3,21),(4,21),(5,21),(6,22),
(7,23),(8,23),(9,23),(10,23),(11,23),(12,23))
#该定义初始化的一些工作做完
#接下来接收用户多个输入
year,month,day = eval(input("请输入出生年月日,用逗号分隔:"))
# 根据用户输入的年份 计算出用户的生肖
# 看到这里我想你应该能明白上面在定义生肖时为什么要调换一下生肖的位置了
u_chinese_zodiac = chinese_zodiac[year%12]
# 根据用户输入的日期 来计算出用户的星座
# 这里使用了lambda表达式 和 filter函数 之后我们会讲到 不过我相信你一定可以自己就学会
u_zodiac_name = zodiac_name[len(list(filter(lambda x:x<(month,day),zodiac_date)))%12]
#字符串替换 打印出最终的结果
print("属:%s 星座:%s"%(u_chinese_zodiac,u_zodiac_name))
运行之后
请输入出生年月日,用逗号分隔:2019,9,10
属:猪 星座:处女座