执行一段关于if的程式,但没有得到预期的回传值

我在学习if语句时,尝试输入一段代码。如下:我本来预期结果是
‘Nonsense’
‘Nonsense’
‘Nonsense’,但实际结果是
Do you want to play cf?
Do you want to play cs?
Do you want to play lol?
这是为什么呢?

games = ['cf', 'cs', 'lol']
for game in games:
    if game == 'CF' or 'CS':
        if game == 'CF':
            print(f"Do you want to play {game}?")
        else:
            print(f"Do you want to play {game}?")
    elif game=='LOL':
        print("Do you want to play LOL?")
    else:
        print('Nonsense!')
Jason990420
最佳答案
if game == 'CF' or 'CS':

这里相当于if (game == 'CF') or 'CS':, 也就是if (game == 'CF') or True:, 结果永远是True,打印结果就是

print(f"Do you want to play {game}?")

正确的写法应该是

if game == 'CF' or game == 'CS':

或者是

if game in ('CF', 'CS'):
2年前 评论
SilenceHL 2年前
Jason990420 (作者) 2年前
Ivanharry (楼主) 2年前
讨论数量: 1
Jason990420
if game == 'CF' or 'CS':

这里相当于if (game == 'CF') or 'CS':, 也就是if (game == 'CF') or True:, 结果永远是True,打印结果就是

print(f"Do you want to play {game}?")

正确的写法应该是

if game == 'CF' or game == 'CS':

或者是

if game in ('CF', 'CS'):
2年前 评论
SilenceHL 2年前
Jason990420 (作者) 2年前
Ivanharry (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!