Python字符串多重比较

2024-04-20 00:58:21 发布

您现在位置:Python中文网/ 问答频道 /正文

    shift = raw_input("Enter the shift the employee works in:  ")
    shift = shift.upper()
    print shift
    while (shift != "A" or shift != "B" or shift != "C" ):
        shift = raw_input("Invalid Input- Please Enter a, b or c:  ")
        shift = shift.upper()

我需要验证用户是否选择了“a、b或c”,我也必须使用字符串.上(). 但是,它总是进入while循环,即使当我输入“a,a,b,b,c or,c”时,我有“print shift”来确保它正确地输入。在

当我只有“轮班!=“A”并键入“A或A”,它不会进入循环。只有当我加上“B和C”时,它才开始混乱。我怎么解决这个问题?在


Tags: ortheininputrawshiftemployeeupper
1条回答
网友
1楼 · 发布于 2024-04-20 00:58:21

您需要使用and而不是or(因为x != 1 or x != 2始终为真):

while (shift != "A" and shift != "B" and shift != "C" ):

但你可以做得更好:

^{pr2}$

相关问题 更多 >