python的新手,在尝试使循环工作时可能是一个基本问题。
我已经阅读过类似的一些问题,但找不到有效的解决方案。
我只是想在脚本中提出相同的问题,直到提到列出的猫名。所以,如果输入一个名为'Scott'的名字,这个名字不在宠物名单中,它会要求再次尝试一个宠物名称。
myPets = ['Zophie', 'Pooka', 'Fat-tail']
print('Enter a pet name.')
name = input()
if name not in myPets:
print('I do not have a pet named ' + name + ' try again')
else:
print(name + ' is my pet.')
答案 0 :(得分:4)
您可以使用while
循环重复此操作,直到用户输入正确的输入。使用break
退出循环。
myPets = ['Zophie', 'Pooka', 'Fat-tail']
while True:
print('Enter a pet name.')
name = input()
if name not in myPets:
print('I do not have a pet named ' + name + ' try again')
else:
print(name + ' is my pet.')
break
答案 1 :(得分:2)
while
是您需要的关键字。使用 while 循环
它可以帮助您在满足条件时重复一组语句(即,直到出现新的内容,例如输入的名称是您的宠物之一)。
您还可以将输入消息作为参数传递给input()方法。
myPets = ['Zophie', 'Pooka', 'Fat-tail']
name = input("Enter pet name")
while name not in myPets:
print('I do not have a pet named ' + name + ' try again')
name = input("Enter pet name")
print(name + ' is my pet.')
答案 2 :(得分:2)
对于此任务,您应该使用这样的while循环:
myPets = ['Zophie', 'Pooka', 'Fat-tail']
print('Enter a pet name.')
name = input()
while name not in myPets:
print('Enter a valid pet name.')
name = input()
print(name + ' is my pet.')
每次用户输入内容时,都会评估条件。如果您的情况正确,您将继续要求用户提供其他输入,直到符合您的要求为止。
答案 3 :(得分:1)
这是你在找什么:
myPets = ['Zophie', 'Pooka', 'Fat-tail']
done=Fasle
while not done:
name=input("enter a pet name: ")
if name in myPets:
done=True
print(name + ' is my pet.')
else:
print('I do not have a pet named ' + name + ' try again')
答案 4 :(得分:0)
您可以使用简单的while循环:
myPets = ['Zophie', 'Pooka', 'Fat-tail']
loop=0
while loop==0:
print('Enter a pet name.')
name = input()
if name not in myPets:
print('I do not have a pet named ' + name + ' try again')
else:
print(name + ' is my pet.')
loop=loop+1
或强>
使用递归循环(不推荐):
myPets = ['Zophie', 'Pooka', 'Fat-tail']
def ask():
print('enter pet name')
name = input()
if name not in myPets:
print('I do not have a pet named ' + name + ' try again')
ask()
else:
print(name + ' is my pet.')
ask()