2017-08-09 31 views
1

我試圖通過簡單地將月份一個接一個地往下走,但我的老師告訴我,長期是不可接受的。現在我已打印日期和月份,但不知道如何快速更改所代表月份中的數字。這是我迄今爲止所擁有的。作業:提示用戶輸入他們的生日月份,然後輸入他們出生的那一天。打印月份的名稱,然後是當天

birthMonth = int(input("Enter your Birth Month:")) 

if birthMonth <= 0 or birthMonth > 12: 
    print("Invalid, Choose again") 
else: 
    birthDay = int(input("What day?:")) 
    if birthDay <=0 or birthDay > 31: 
     print('Not a valid Birthday') 
    else: 
     print(birthMonth, birthDay) 

這將打印數量,這是很好的一天,但她不希望我列出所有的月份。我將不勝感激任何幫助。

+0

可能的重複:https://stackoverflow.com/questions/6557553/get-month-name-from-number –

回答

1

您可以使用datetime模塊獲取與數字關聯的月份。

>>> import datetime 
>>> month_num = 8 
>>> month = datetime.date(2017, month_num, 1).strftime("%B") 
>>> print(month) 
August 

另一種替代方法(可能是更好的一種)是使用calendar模塊

>>> import calendar 
>>> month_num = 8 
>>> calendar.month_name[month_num] 
August 

所以,在你的代碼,你可以取代

print(birthMonth, birthDay) 

print(calendar.month_name[birthMonth], birthDay) 

但是,確保您導入calendar模塊。

+1

非常感謝!並且謝謝你加倍回答這麼快^^ – ChelluhC

相關問題