尽管我找不到答案,但确实花了一些时间来寻找答案。我确信,我的第一个问题是一个显而易见的问题……我只是无法将手指放在答案上。
我正在尝试编写此代码,以便当用户输入此列表中已经存在的名称时,打印语句将显示为'请输入唯一名称'或类似的内容。到开始时不影响6个输入的总数我尝试使用while循环和几个for循环,但我无法正确处理。
感谢您的阅读和回答!
name_list = []
question = "Please enter a name: "
for i in range(6):
name_list.append(input(question))
for name in name_list:
print("- " + name.title())
name_list = []
added_new_name = 0
while True:
new_name = input("Please enter a name: ")
if new_name.lower() in name_list:
print(f"{new_name} is already known! Please use a unique name.")
continue
else:
print(f"Added {new_name.title()} to our database!")
added_new_name += 1
name_list.append(new_name.lower())
if added_new_name >= 6:
print("Done adding names!")
print(f"Final Names:")
for name in name_list:
print(name)
break
此for循环将一直运行,直到输入了6个名称。发生的情况是使用continue and break statements,然后使用一个单独的计数器来查找已添加的名称,如果给出了唯一名称,则我会递增该计数器并将该名称以小写形式添加到name_list
中,并检查是否new_name
在我刚做的列表中:if new_name.lower() in name_list
检查小写的new_name是否在列表中,我们只将小写的字符串附加到列表中。