Python 而循环未按预期退出
您好,很抱歉问初学者的问题,但这让我挠头。我以前曾尝试在if语句中使用break语句来退出代码,但无论输入如何,都会中断。代码如下所示:Python 而循环未按预期退出,python,python-3.x,while-loop,Python,Python 3.x,While Loop,您好,很抱歉问初学者的问题,但这让我挠头。我以前曾尝试在if语句中使用break语句来退出代码,但无论输入如何,都会中断。代码如下所示: def describePet(petBreed, petName): print('I have a pet ' + petBreed) print('My ' + petBreed + '\'s name is ' + petName + '.') while True: print('Type quit to exit.')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
breed = None
name = None
while breed or name != 'quit':
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name == 'quit' or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
我差点把它作为一个问题发布出来,但后来又重新格式化了。不过,我还是希望能以这样一种方式给出一个答案,即我能够获得所需的输出,但在输入预期的退出语句时无法中断循环。重做代码如下所示:
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
breed = None
name = None
while breed or name != 'quit':
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name == 'quit' or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
如果您能让我知道,当我将字符串quit存储在任一变量中时,为什么这段代码没有退出,我们将不胜感激。谢谢大家! 在while循环中,执行以下操作:
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
breed = None
name = None
while breed or name != 'quit':
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
describePet(breed, name)
print('test')
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name == 'quit' or breed == 'quit':
break
else:
describePet(breed, name)
print('test')
使用name或breed==“quit”之类的值永远不会计算为true,因为它将首先计算name或breed,而name或breed始终是一个布尔值,而这不是您所期望的值。请尝试以下步骤以在代码中添加新的值。 1.在代码的第一部分中,按如下所示更改if条件。如果name=='quit'或breed=='quit'
def describePet(petBreed, petName):
print('I have a pet ' + petBreed)
print('My ' + petBreed + '\'s name is ' + petName + '.')
while True:
print('Type quit to exit.')
breed = input('What is your pets breed?: ')
name = input('What is your pets name?: ')
if name =='quit' or breed == 'quit':
break
else:
describePet(breed, name)
然后修改while循环条件,如下所示
而繁殖“退出”或“名称!=”退出
如果name='quit'或breed='quit',请更正这样的条件。while条件中存在相同的逻辑错误。while繁殖或名称!='“退出”不会像您预期的那样起作用。它会检查品种是否存在或名称是否为“退出”。啊,好的,我现在明白了。谢谢你。你可以对答案进行投票,这样对其他人也会有帮助。我有,但因为我的声誉太低,所以没有公开。