依据自定义函数和星座日期的特点,通过数学规律,即可通过少量代码根据出生日期判断星座
下图可以看出,星座若按月份大小排列。上一个的月份的结束日期永远小于下一个的开始日期
从月份的小到大一次排列,由于摩羯座跨越了年份,故应该有两个位置,第一个和最后一个,但开始的月份大小仍然不变。此代码可以根据正确的日期判断星座,但无法解决2月30和31日判断成功的bug
n = ('摩羯座', '水瓶座', '双鱼座', '白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座')
d = (20,19,21,20,21,22,23,23,23,24,23,22)
def nu(month,day):
if day < d[month-1]:
return n[month-1]
else:
return n[month]
month = input('请输入月份:')
month = int(month)
day = input('请输入日期:')
day = int(day)
print('星座为',nu(month,day))