星座是根据出生日期来划分的,每个星座对应特定的日期范围。例如,摩羯座的日期范围是12月22日至1月19日,水瓶座的日期范围是1月20日至2月18日。
这个函数属于日期处理和条件判断类型的函数。
def get_zodiac_sign(birthday):
"""
根据生日返回对应的星座符号
:param birthday: 生日日期,格式为 'YYYY-MM-DD'
:return: 星座符号
"""
month, day = map(int, birthday.split('-')[1:])
if (month == 1 and day >= 20) or (month == 2 and day <= 18):
return '水瓶座'
elif (month == 2 and day >= 19) or (month == 3 and day <= 20):
return '双鱼座'
elif (month == 3 and day >= 21) or (month == 4 and day <= 19):
return '白羊座'
elif (month == 4 and day >= 20) or (month == 5 and day <= 20):
return '金牛座'
elif (month == 5 and day >= 21) or (month == 6 and day <= 21):
return '双子座'
elif (month == 6 and day >= 22) or (month == 7 and day <= 22):
return '巨蟹座'
elif (month == 7 and day >= 23) or (month == 8 and day <= 22):
return '狮子座'
elif (month == 8 and day >= 23) or (month == 9 and day <= 22):
return '处女座'
elif (month == 9 and day >= 23) or (month == 10 and day <= 23):
return '天秤座'
elif (month == 10 and day >= 24) or (month == 11 and day <= 22):
return '天蝎座'
elif (month == 11 and day >= 23) or (month == 12 and day <= 21):
return '射手座'
elif (month == 12 and day >= 22) or (month == 1 and day <= 19):
return '摩羯座'
else:
return '未知'
# 示例使用
birthday = '1990-03-25'
print(f'{birthday} 对应的星座是 {get_zodiac_sign(birthday)}')
from datetime import datetime
def get_zodiac_sign(birthday):
try:
date_obj = datetime.strptime(birthday, '%Y-%m-%d')
month, day = date_obj.month, date_obj.day
# 星座判断逻辑
if (month == 1 and day >= 20) or (month == 2 and day <= 18):
return '水瓶座'
# 其他星座判断逻辑...
else:
return '未知'
except ValueError:
return '无效日期'
# 示例使用
birthday = '1990-03-25'
print(f'{birthday} 对应的星座是 {get_zodiac_sign(birthday)}')
通过上述代码和解释,可以实现对生日日期的处理,并返回对应的星座符号。
领取专属 10元无门槛券
手把手带您无忧上云