📌  相关文章
📜  显示给定出生日期的星座或十二生肖的程序(1)

📅  最后修改于: 2023-12-03 15:40:10.676000             🧑  作者: Mango

显示给定出生日期的星座或十二生肖的程序

本程序可以根据给定的出生日期,快速准确地计算出对应的星座和十二生肖。功能强大,易于使用。

功能说明

给定出生日期,程序可快速返回对应的星座和十二生肖。

输入参数
  • 出生日期,格式为YYYY-MM-DD,例如1990-01-01
输出结果
  • 星座名称:根据出生日期计算得到的星座名称
  • 生肖名称:根据出生日期计算得到的生肖名称
示例代码
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)
运行结果
星座: 巨蟹座
生肖: 蛇
代码说明
  • 本程序使用Python语言实现。
  • 程序中包含两个函数:get_star_sign()get_zodiac_sign()
  • get_star_sign()函数通过计算出生日期的月份和日期,获得对应的星座名称。
  • get_zodiac_sign()函数通过计算出生年份,获得对应的生肖名称。
  • 测试用例是1989年7月1日的出生日期,程序正确返回了对应的星座和生肖。