Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops &引用;否则";选项替换在while循环中被忽略_Loops_If Statement - Fatal编程技术网

Loops &引用;否则";选项替换在while循环中被忽略

Loops &引用;否则";选项替换在while循环中被忽略,loops,if-statement,Loops,If Statement,这可能是一个简单的问题,需要一个简单的答案…但我一直在挠头为什么会发生这种情况。 这是我正在测试的循环中的一个问题。以下是循环: done = False while done==False: checkUser = input("Do you want to continue?\nType Y or y to continue; any other char to quit\nType here: ") print(checkUser) # just to

这可能是一个简单的问题,需要一个简单的答案…但我一直在挠头为什么会发生这种情况。 这是我正在测试的循环中的一个问题。以下是循环:

done = False
while done==False:
    checkUser = input("Do you want to continue?\nType Y or y to continue; any other char to quit\nType here: ")
    print(checkUser) # just to check the input

    if checkUser =='Y' or 'y':
        print ('Yes, I want to continue.')
        done = False
        break

    else:
        print('No. I want to quit now.')
        done = True
        sys.exit()
在PyCharm上运行此脚本时,我得到以下输出:

Do you want to continue?
Type Y or y to continue; any other char to quit
Type here: y
y
Yes, I want to continue

Do you want to continue?
Type Y or y to continue; any other char to quit
Type here: n
n
Yes, I want to continue
问题:为什么忽略“else”选项


我尝试了很多变化,比如删除
sys.exit()
等等,但是循环的行为仍然是一样的。

如果checkUser='Y'或'Y':将行
更改为
如果checkUser='Y'或checkUser='Y':
代码按照您的期望工作
if checkUser=='Y'或'Y':
意味着检查checkUser是否为'Y'或'Y'是否为真,这对于任何输入都是真的。

无需在if条件的末尾添加
break
,因为while循环已经由
done
变量控制。如果您的条件写得不正确,机器会解释为:

if (checkUser == 'Y') or ('y')
因此,条件变为:

condition_1: checkUser = 'Y'?
condition_2: 'y'?
如果“y”总是生成true,那么while循环将永远运行。你应该做:

if checkUser == 'Y' or checkUser == 'y'
看看它是否对你有帮助。

被愚弄,还有更多