3 回答

TA貢獻1783條經驗 獲得超4個贊
你有if
.. elif
.. elif
,這意味著如果輸入tstr
不滿足任何條件,你的函數將返回無,因為在if 或 elif 塊之外沒有 return 語句。

TA貢獻1848條經驗 獲得超6個贊
以下對您的 if 條件的更改將有助于解決您的問題。我剛轉換tstr[-2:0]成tstr[-2:]
def time24hr(tstr):
if tstr[-2:] == 'am' and tstr[0:2] == '12':
a = '00' + tstr[3:5] + 'hr'
return a
elif tstr[-2:] == 'am' and tstr[0:2] != '12':
b = tstr[0:2] + tstr[3:5] + 'hr'
return b
elif tstr[-2:] == 'pm':
c = str(int(tstr[0:2]) + 12) + tstr[3:5] + 'hr'
return c
希望能幫助到你。

TA貢獻1784條經驗 獲得超9個贊
如果不滿足條件,則返回 None(因為在這種情況下沒有返回值)。
如果不滿足所有條件(即false),您可以添加返回值。這表明tstr您提供的時間格式不正確,無法在您的函數中進行轉換。
def time24hr(tstr):
if tstr[-2:0] == 'am' and tstr[0:2] == '12':
a = '00' + tstr[3:5] + 'hr'
return a
elif tstr[-2:0] == 'am' and tstr[0:2] != '12':
b = tstr[0:2] + tstr[3:5] + 'hr'
return b
elif tstr[-2:0] == 'pm':
c = str(int(tstr[0:2]) + 12) + tstr[3:5] + 'hr'
return c
return false
添加回答
舉報