通过星座获取日期月份

#
constellation_dict={"摩羯座":[12,22],
                    "水瓶座": [1,20 ],
                    "双鱼座": [2, 19],
                    "白羊座": [3,21 ],
                    "金牛座": [4, 20],
                    "双子座": [5,21 ],
                    "巨蟹座": [6,22 ],
                    "狮子座": [7,23 ],
                    "处女座": [8,23 ],
                    "天秤座": [9, 23],
                    "天蝎座": [10, 24],
                    "射手座": [11, 23],
                    }


#通过星座找到月份
def GetConstellationDate (constellation,day):
    datas= constellation_dict.get(constellation)
    if datas[1]<day:#如果日期大于就是本月否则相加
        return datas[0]
    else:
        month=datas[0]+1
        month=month%12
        return month




if __name__ == '__main__':
    month= GetConstellationDate("天秤座",28)
    print(month)

因为需求需要通过星座 获取月份

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的例子,可以通过输入年月日来查询对应的星座: ``` def get_constellation(month, day): """ 根据月份日期获取星座 """ 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 <= 22: return "天秤座" elif month == 10 and day >= 23 or month == 11 and day <= 21: return "天蝎座" elif month == 11 and day >= 22 or month == 12 and day <= 21: return "射手座" else: return "摩羯座" year = input("请输入出生年份:") month = input("请输入出生月份:") day = input("请输入出生日期:") constellation = get_constellation(int(month), int(day)) print("您的星座是:" + constellation) ``` 运行结果: ``` 请输入出生年份:1990 请输入出生月份:11 请输入出生日期:10 您的星座是:天蝎座 ``` 注意:这只是一个简单的例子,实际上查询星座的方法可能会更加复杂。例如,有些星座的划分可能会根据时间、地点等因素进行微调,因此需要根据具体情况进行修改。 ### 回答2: 通过Python代码来查询星座可以使用以下的方法: ```python def get_constellation(month, day): if (month == 12 and day >= 22) or (month == 1 and day <= 19): return "摩羯座" elif (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 <= 22): return "天秤座" elif (month == 10 and day >= 23) or (month == 11 and day <= 21): return "天蝎座" else: return "射手座" # 输入日期,格式为"YYYY-MM-DD" date = input("请输入日期(YYYY-MM-DD): ").split("-") month = int(date[1]) day = int(date[2]) constellation = get_constellation(month, day) print("该日期对应的星座是:" + constellation) ``` 这段代码定义了一个`get_constellation`函数来根据月份日期获取星座。然后通过输入一个日期(格式为"YYYY-MM-DD")来调用这个函数,并打印出对应的星座。 ### 回答3: 要通过Python代码通过日期查询星座,可以按照以下步骤进行操作: 1. 从用户输入获取日期。可以使用`input()`函数请求用户输入日期,并保存在一个变量中。 2. 创建一个星座列表,其中包含每个星座对应的起始日期和结束日期。例如,可以使用字典的形式表示每个星座以及其时间范围,如:`constellations = {"白羊座": ("3-21", "4-19"), "金牛座": ("4-20", "5-20"), ...}`。注意日期的格式可以自行定义。 3. 将输入的日期星座列表中的日期进行比较,以确定输入的日期属于哪个星座。可以使用循环遍历星座列表,并使用条件判断语句检查输入的日期是否在星座的时间范围内。 4. 如果找到匹配的星座,则输出该星座的名称。如果没有找到匹配的星座,则可以输出一个错误信息或要求用户重新输入。 下面是一个示例代码,实现了上述步骤: ```python def find_constellation(date): constellations = {"白羊座": ("3-21", "4-19"), "金牛座": ("4-20", "5-20"), "双子座": ("5-21", "6-21"), ...} for constellation, (start, end) in constellations.items(): if is_between_dates(date, start, end): return constellation return "未找到匹配的星座" def is_between_dates(date, start, end): date_parts = date.split("-") start_parts = start.split("-") end_parts = end.split("-") date = datetime.date( year=datetime.date.today().year, month=int(date_parts[0]), day=int(date_parts[1]) ) start_date = datetime.date( year=datetime.date.today().year, month=int(start_parts[0]), day=int(start_parts[1]) ) end_date = datetime.date( year=datetime.date.today().year, month=int(end_parts[0]), day=int(end_parts[1]) ) return start_date <= date <= end_date date = input("请输入日期(格式为月份-日期,如4-19):") constellation = find_constellation(date) print(constellation) ``` 请注意,以上代码使用了时间处理模块`datetime`,因此需要导入该模块:`import datetime`。另外,代码中的星座时间范围和日期格式仅为示例,可以根据实际需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值