亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python:轉換 24 小時以及為什么使用 if 將返回 None

python:轉換 24 小時以及為什么使用 if 將返回 None

撒科打諢 2022-12-06 16:44:06
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我很困惑為什么這個函數不返回字符串,而是顯示返回無
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

你有if.. elif.. elif,這意味著如果輸入tstr不滿足任何條件,你的函數將返回無,因為在if 或 elif 塊之外沒有 return 語句。



查看完整回答
反對 回復 2022-12-06
?
慕勒3428872

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

希望能幫助到你。


查看完整回答
反對 回復 2022-12-06
?
千萬里不及你

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


查看完整回答
反對 回復 2022-12-06
  • 3 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號