我发现很难一遍又一遍地循环我的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)
我不完全确定应该编写什么代码才能实现此循环。
答案 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)