📅  最后修改于: 2023-12-03 15:40:10.676000             🧑  作者: Mango
本程序可以根据给定的出生日期,快速准确地计算出对应的星座和十二生肖。功能强大,易于使用。
给定出生日期,程序可快速返回对应的星座和十二生肖。
def get_zodiac_sign(birthday):
"""
计算给定出生日期对应的生肖名称
:param birthday: 出生日期,格式为YYYY-MM-DD
:return: 对应的生肖名称
"""
zodiac_signs = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪']
year = int(birthday.split('-')[0])
zodiac_index = (year - 1900) % 12
return zodiac_signs[zodiac_index]
def get_star_sign(birthday):
"""
计算给定出生日期对应的星座名称
:param birthday: 出生日期,格式为YYYY-MM-DD
:return: 对应的星座名称
"""
date = datetime.datetime.strptime(birthday, '%Y-%m-%d')
month = date.month
day = date.day
star_signs = [('摩羯座', 1, 20), ('水瓶座', 2, 19), ('双鱼座', 3, 21), ('白羊座', 4, 20),
('金牛座', 5, 21), ('双子座', 6, 21), ('巨蟹座', 7, 23), ('狮子座', 8, 23),
('处女座', 9, 23), ('天秤座', 10, 23), ('天蝎座', 11, 23), ('射手座', 12, 22)]
for star_sign in star_signs:
if month == star_sign[1]:
if day < star_sign[2]:
return star_signs[star_signs.index(star_sign) - 1][0]
else:
return star_sign[0]
return star_signs[-1][0]
birthday = '1989-07-01' #测试用例,出生日期
star_sign = get_star_sign(birthday)
zodiac_sign = get_zodiac_sign(birthday)
print('星座:', star_sign)
print('生肖:', zodiac_sign)
星座: 巨蟹座
生肖: 蛇
get_star_sign()
和get_zodiac_sign()
。get_star_sign()
函数通过计算出生日期的月份和日期,获得对应的星座名称。get_zodiac_sign()
函数通过计算出生年份,获得对应的生肖名称。