用户输入并陷入 while 循环
User input and stuck in while loop
我希望我的代码接受用户输入,然后提示用户继续,如果他们回答 'y' 然后它要求另一个输入,如果他们回答 'n' 程序停止,如果他们键入任何其他字符它只是继续提示他们直到他们输入 'y' 或 'n'.
如代码所示,我正在尝试使用 while 循环不断提示用户,直到他们输入 'y' 或 'n'。但是,当我到达 while 循环时,它不会在输入 'y' 或 'n' 时停止。
def test():
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
elif prompt == 'n':
pass
else:
while prompt != 'y' or 'n':
prompt = input('Continue (y/n)? ')
这不是 or
的工作方式:
while prompt != 'y' or 'n':
你的意思可能是:
while prompt != 'y' or prompt != 'n':
您的版本 or
s prompt != 'y'
和 'n'
,它总是至少产生最后一个 truth-y 值 ('n'
)。
完整代码:
def test():
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
elif prompt == 'n':
pass
else:
while prompt != 'y' or prompt != 'n':
prompt = input('Continue (y/n)? ')
为了做这些类型的输入循环,我通常使用 while True
和 break
:
def test():
prompt = 'y'
while True:
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
elif prompt == 'n':
break
prompt = input('Continue (y/n)? ')
您必须使用 raw_input() 才能将非数值变量作为输入。
我希望我的代码接受用户输入,然后提示用户继续,如果他们回答 'y' 然后它要求另一个输入,如果他们回答 'n' 程序停止,如果他们键入任何其他字符它只是继续提示他们直到他们输入 'y' 或 'n'.
如代码所示,我正在尝试使用 while 循环不断提示用户,直到他们输入 'y' 或 'n'。但是,当我到达 while 循环时,它不会在输入 'y' 或 'n' 时停止。
def test():
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
elif prompt == 'n':
pass
else:
while prompt != 'y' or 'n':
prompt = input('Continue (y/n)? ')
这不是 or
的工作方式:
while prompt != 'y' or 'n':
你的意思可能是:
while prompt != 'y' or prompt != 'n':
您的版本 or
s prompt != 'y'
和 'n'
,它总是至少产生最后一个 truth-y 值 ('n'
)。
完整代码:
def test():
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
prompt = input('Continue (y/n)? ')
elif prompt == 'n':
pass
else:
while prompt != 'y' or prompt != 'n':
prompt = input('Continue (y/n)? ')
为了做这些类型的输入循环,我通常使用 while True
和 break
:
def test():
prompt = 'y'
while True:
if prompt == 'y':
number = input('Input a number then press enter:')
print(number)
elif prompt == 'n':
break
prompt = input('Continue (y/n)? ')
您必须使用 raw_input() 才能将非数值变量作为输入。