我有一份进入酒店的人员名单。
我的问题是第二个问候语的顺序不正确。如何在第二次出现名字后插入第二个问候语?
同
enter = ["David", "Orly", "Neta", "Peleg", "Carol", "Ezra", "Irina",
"Orly", "Shir", "Neta", "Sheli", "Neta", "Ezra", "Yosi"]
我的预期输出是:
Welcome David
Welcome Orly
Welcome Neta
Welcome Peleg
Welcome Carol
Welcome Ezra
Welcome Irina
Good to see you again Orly
Welcome Shir
Good to see you again Neta
Welcome Sheli
Good to see you again Neta
Good to see you again Ezra
Welcome Yosi
这是我的代码:
enter = ["David", "Orly", "Neta", "Peleg", "Carol", "Ezra", "Irina", "Orly", "Shir", "Neta", "Sheli", "Neta", "Ezra", "Yosi"]
i = 0
for i in enter:
print ("welcome", i)
if enter.count(i)>1:
print("good to see you again",i)
而我目前的错误输出:
welcome David
welcome Orly
good to see you again Orly
welcome Neta
good to see you again Neta
welcome Peleg
welcome Carol
welcome Ezra
good to see you again Ezra
welcome Irina
welcome Orly
good to see you again Orly
welcome Shir
welcome Neta
good to see you again Neta
welcome Sheli
welcome Neta
good to see you again Neta
welcome Ezra
good to see you again Ezra
welcome Yosi
count
会告诉你他们在列表中的次数,但不是这是否是第一次。我建议您在看到它们时将人员添加到Set中,然后您可以通过检查它们是否在Set中来检查它们之前是否已被看到。
如果一个名字在整个列表中不止一次,那么您不仅要考虑入口事件的一部分,这些事件到目前为止“已经发生”了。 除此之外,万一有人的数量> 1你打印两者,'欢迎'和'很高兴再见到你'。
这种方式效果更好:
for i, name in enumerate(enter):
if name in enter[:i]:
print("Good to see you again", name)
else:
print ("Welcome", name)