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
添加回答
举报