首页 > 解决方案 > Python中条件加法的单行代码

问题描述

if time[-2:] == 'PM':
    h = h % 12 + 12
else:
    h = h % 12

我想将上面的 Python 代码简化为如下所示:

h = h % 12 + (time[:-2] == 'PM') * 12

time是“hh:mm:ss:PM”形式的字符串。有人可以帮助我为这个 if-else 语句找到一个单行符吗?

标签: pythonpython-3.x

解决方案


您可以使用 python 的条件表达式(三元运算符)来获取要添加的数量。例如:

time = '02:30:11 PM'
h = 2
h = h % 12 + (12 if time[-2:] == 'PM' else 0)
print(h)
time = '04:17:54 AM'
h = 4
h = h % 12 + (12 if time[-2:] == 'PM' else 0)
print(h)

输出

14
4

推荐阅读