python-3.x 有没有一种方法可以搜索输入到timedate对象中的月份,并将其链接到字典中与该月份匹配的关键字

jxct1oxe  于 2023-05-02  发布在  Python
关注(0)|答案(1)|浏览(128)

有一个相当简单的程序,输入生日,给出生日的日期和月份作为timedate对象,例如19 May,并有一个有12个键的字典,又名January到December,寻找一种方法来使用字典方法获取作为字符串输入的月份值,然后转换为timedate对象。

#input birthday string
birthday = str(input("Please enter you birthday in the following format: dd/mm/yyyy."))
birthdate = datetime.strptime(birthday, "%d/%m/%Y") #formatting of input
birthdate2 = datetime.strftime(birthdate, "%d %B") #day and month object
print("Your birthday is on", birthdate2) #print the day and month object
    
#dictionary
famousBirthdays = {
    "January": "Mozart",
    "February": "Charles Darwin",
    "March": "Albert Einstein",
    "April": "Elizabeth II",
    "May": "Linnaeus",
    "June": "Josephine Baker",
    "July": "Frida Kahlo",
    "August": "Barack Obama",
    "September": "Elizabeth I",
    "October": "Gandhi",
    "November": "Marie Curie",
    "December": "Emily Dickinson"
    }

到目前为止还没有尝试太多,因为对python来说非常陌生,并且很难想出任何想法,我想到的最好的想法是将月份隔离在一个新的timedate对象中,并编写一个语句来根据输入比较两者,并在dictionary中提取相应的值,但不确定从哪里开始

eivgtgni

eivgtgni1#

谢谢你在评论中的帮助,谢谢,Bijay Regmi。找到了一个解决方案,在timedate位上添加一行,一个更简单的处理方法可能是使用数字日期来简化事情。需求限制了我,但一个简单的解决方案仍然是非常赞赏。

在birthdate2和print birthmonth = datetime之间添加。strftime(birthdate,“%B”)

在字典famous_person = famousBirthdays[birthmonth]后的末尾添加

print(famous_person)

相关问题