好的,所以我不是一個菜鳥,而是 Python 的初學者,我一直在嘗試通過使用函式來創建以下程式,但是,我真的不知道函式是如何作業的,目前看起來有點困難。這是問題:
一個月的長度從 28 天到 31 天不等。在本練習中,您將創建一個程式,該程式將用戶的月份名稱作為字串讀取。然后你的程式應該顯示該月的天數。顯示 2 月的“28 或 29 天”,以便處理閏年。
這是我的簡單解決方案:
name = input('What month is it? ')
thirty_days = ['April','June','September','November']
thirty_one_days = ['January','March','July','August','October','December']
feb = ['February']
if name in thirty_days:
print('Number of days: 30')
elif name in thirty_one_days:
print('Number of days: 31')
elif name in feb:
print('Number of days: 28 or 29')
任何建議表示贊賞:) 干杯!
uj5u.com熱心網友回復:
您可以將代碼放在回傳長度的函式中,而不是列印它。然后呼叫該函式并列印其結果。
def month_length(name):
thirty_days = ['April','June','September','November']
thirty_one_days = ['January','March','July','August','October','December']
feb = ['February']
if name in thirty_days:
return 30
elif name in thirty_one_days:
return 31
elif name in feb:
return '28 or 29'
name = input('What month is it?')
print('Number of days:', month_length(name))
uj5u.com熱心網友回復:
您可以利用一些日期工具:
from datetime import datetime
from calendar import monthrange
def length(name):
d = datetime.strptime(name, "%B") # parse month by full name
l = monthrange(datetime.now().year, d.month)[1]
# may not be needed as you dynamically get the correct value for current year
# if l == 28:
# return "28 or 29"
return l
print('Number of days:', length(input()))
一些檔案:
calendar.monthrangedatetime.strptime
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/327724.html
