p == 'O' or 'Q'
结果是
(p == 'O') or 'Q'
因为非空字符串的布尔值总是
True
,表达式总是
真的
.
你想要:
p in ['O', 'Q']
你也可以
p == 'O' or p == 'Q' or p == etc.
,但这会变得非常重复。
prefixes = "JKLMNOPQ"
suffix = "ack"
for p in prefixes:
if p in ['O', 'Q']:
print(p + 'u' + suffix)
else:
print(p + suffix)