首页 > 解决方案 > 无法理解python中一行代码中的AND运算符

问题描述

我有以下功能,基本上要求用户输入“X”或“O”的选择。我使用 while 循环不断询问用户,直到我得到“X”或“O”的答案。

def player_input():

    choice = ''

    while choice != "X" and choice != "O":
        choice = input("Player 1, choose X or O: ")

    pl1 = choice

    if pl1 == "X":
        pl2 = "O"
    else:
        pl2 = "X"

return (pl1, pl2)

上面的代码工作正常,但我完全不明白在这种特定情况下“和”是如何工作的。如果我理解正确,“和”意味着两个条件都必须为真。但是,在任何给定时间,选择只能是“X”或“O”。

请帮助我理解这一点。如果您认为这是一个愚蠢的问题,请提前道歉。我是 python 和一般编程的新手。

谢谢!

标签: pythonpython-3.x

解决方案


在这种情况下,选择在进入 while 循环之前以空白开始。在 while 循环期间,要求玩家选择 X 或 O。条件强制用户输入 X 或 O。如果用户输入 Z,则条件为真,并重复循环要求另一个输入。如果用户键入 X 或 O,则条件现在返回 false 并退出 while 循环。


推荐阅读