2017-08-09 8 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 

別の方法(1おそらくより良い)だから、

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

calendarモジュールを使用することで、あなたのコードでは、あなたは

print(calendar.month_name[birthMonth], birthDay) 

print(birthMonth, birthDay) 

を置き換えることができます

しかし、 calendarモジュールをインポートするようにしてください。

+1

ありがとうございました!とても素早く答えることに二倍いただきありがとうございます^^ – ChelluhC

関連する問題