names = []
print("Duplicate names won't be in the list!") # reminder
while True:
userInput = input("Enter a name: ")
if userInput == "": # condition to terminate loop
print("You've entered these names, duplicated names won't be included")
print(names)
break
elif userInput not in names: # condition to see if input is duplicated
names.append(userInput) # if satisfied, adds it to the list
else:
print("value exists!") # reminder about the value entered is duplicate
到目前为止,这是我的代码,我不知道如何计算输入特定重复值的次数,字典会解决很多人说的但是我对它不太熟悉。在输出中,当名称输入完成后,控制台用户应该能够搜索列表 只需在控制台输入名称即可命名。该程序应输出“不是 找到“或显示输入的名称和次数。 搜索完成后,控制台用户应该能够从列表中删除名称 通过输入名称。如果找不到名称,程序应输出“未找到”。如果一个名字 找到然后它应该从列表中删除,名称与a一起显示 向用户发送“已删除”消息,例如“删除特德”。
非常感谢那些有帮助的人!
答案 0 :(得分:1)
您应该使用Counter。
c = Counter() #Initialize the counter
print("Duplicate names won't be in the list!")
while True:
userInput = input("Enter a name: ") #input used to be raw_input in Python 2
if userInput == "":
print("You've entered these names, duplicated names won't be included")
print(c.keys())
break
elif userInput not in c:
c.update([userInput]) # if satisfied, adds it to the counter. You have to provide a list, hence the [ ]. If you provide a string, it will be broke down into characters.
else:
print("value exists!")
为了显示具体的计数,
print c[word]
您还可以查看最常见的术语等。
但是,您的代码禁止多次输入名称,但如果您想计算人们输入您姓名的次数,则可以采用此方式。
答案 1 :(得分:0)
字典由键和值组成,字典中的键应始终是唯一的,因此,除非您使用的每个值都有唯一键,否则它将不支持重复值,并且不适合您的目的。