簡體   English   中英

我不知道為什么這個while循環無法正常運行

[英]I can't figure out why this while loop isn't functioning properly

integer1 = eval(input('Enter the first integer between -10 and 10: '))

integer2 = eval(input('Enter the second integer between -10 and 10: '))

while (integer1 >= 10 or integer1 <= -10):
    replace1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))

while (integer2 > 10 or integer2 < -10):
    replace2 = input('Integer2 is invalid, Please enter a valid number: ')

我認為這是您期望的:

integer1 = eval(input('Enter the first integer between -10 and 10: '))

integer2 = eval(input('Enter the second integer between -10 and 10: '))

while (integer1 >= 10 or integer1 <= -10):
    integer1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))

while (integer2 > 10 or integer2 < -10):
    integer2 = input('Integer2 is invalid, Please enter a valid number: ')

由於integer1的值在第一次while循環中沒有更改,因此它將作為無限循環

可以使用int()代替eval,因為將eval stick與int一起使用會產生一些有害影響

改性:

integer1 = int(input('Enter the first integer between -10 and 10: '))

integer2 = int(input('Enter the second integer between -10 and 10: '))

while (integer1 >= 10 or integer1 <= -10):
    integer1 = int(input('Integer 1 is invalid, Please enter a valid number: '))

while (integer2 > 10 or integer2 < -10):
    integer2 = int(input('Integer2 is invalid, Please enter a valid number: '))
while (integer1 >= 10 or integer1 <= -10):
    replace1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))

您永遠不會更改integer1 ,因此,如果條件為true,則它始終為true,並且將永遠循環。

分配給integer1而不是replace1 第二個類似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM