【发布时间】:2018-03-26 16:48:06
【问题描述】:
这里是 Python 新手。
我的程序提示用户输入他们的姓名。只有一个“正确”的名字,那就是约翰。当用户输入不正确的名字(即不是 John)时,程序会将不正确的名字添加到列表中。一旦输入了正确的姓名,John 我想打印不正确的姓名列表。
我遇到/不明白的问题是,当输入 John 时,它已被附加到错误名称列表中。以下是我的代码:
incorrectNames = []
name = ""
while name != "John":
name = input("Enter your name: \n")
incorrectNames.append(name)
if name == "John":
print("Incorrect names", incorrectNames)
此代码返回 [Andy, Sam, John] 而不仅仅是 [Andy, Sam](如果这两个名字是在 John 之前输入的错误)。这是由于操作顺序吗?我以为一旦变量名是 John 就会绕过附加指令?
任何形式的清晰度都将不胜感激或为我指明正确的方向。
提前致谢!
【问题讨论】:
-
在附加到列表之前,您需要检查名称
John。如果名称等于John,则显示所有名称,否则附加到列表。 -
附带说明,变量 name 不是 John;它的名字总是
name,它的值是”John”。
标签: python python-3.x list data-structures append