如何输入输入直到输入正确的答案

时间:2015-10-28 19:11:57

标签: python loops if-statement

我发现很难一遍又一遍地循环我的raw_input,直到输入正确的答案(我是菜鸟)

这是一个问题:

编写一个Python程序,将用户输入作为String接收。虽然String不是“John”,但是将输入的每个字符串添加到列表中,直到输入“John”。然后打印出列表。

示例程序运行(运行时应该在python控制台中显示的内容):

Enter your name : <user enters Tim>
Enter your name : <user enters Mark>
Enter your name: <user enters John>
Incorrect names: [‘Tim’, ‘Mark’]

这是我的代码:

answer = "John"

nameString = ['']

nameInput = raw_input("Enter a name")

if nameInput in answer:

    print nameString

else:

    nameString.append(nameInput)

我不完全确定应该编写什么代码才能实现此循环。

2 个答案:

答案 0 :(得分:0)

  

创建一个这样的空列表:

nameString = [ ]
     

使用循环冗余地从用户那里获取输入。

     

如果满足某个条件,请使用break语句从循环中突破。

     

否则,由于nameInput错误,请将其添加到列表中。

解决方案如下:

 nameString = []

 while(True):
     nameInput=raw_input("Enter a name")
     if nameInput!="john":
         nameString.append(nameInput)
     else:
         break

 print "Incorrect Names:" , ",".join(nameString)

答案 1 :(得分:0)

你知道你需要循环,但你不确定多少次。这是使用 while 循环的自然场所。

answer = "John"
nameString = []

nameInput = raw_input("Enter a name")

while nameInput != answer:
    nameString.append(nameInput)
    print nameInput = raw_input("Enter a name")
print("Incorrect Names: ", nameString)