我的问题是让用户一次输入一个世界,看看用户知道多少个独特的世界(重复的单词不算数),例如
Word: Chat
Word: Chien
Word: Chat
Word: Escargot
Word:
You know 3 unique word(s)!
Run Code Online (Sandbox Code Playgroud)
以下是我现在所拥有的:
count = 0
listword = []
word = input("Word: ")
while word != "":
for i in listword:
if i != word:
listword.append(word)
count += 1
word = input("Word: ")
print("You know "+count+"unique word(s)!")
Run Code Online (Sandbox Code Playgroud)
但是输出是这样的:
Word: hello
Word: hi
Word: hat
Word:
You know 0 unique word(s)!
Run Code Online (Sandbox Code Playgroud)
如何调整我的代码,为什么计数仍然 =0?
问题是它listword最初是空的,除非输入的单词与 中已有的单词不匹配,否则不会添加任何内容listword。如果在listword.
你可以用 a 做到这一点list,但 aset会更有效:
listword = set()
word = input("Word: ")
while word.strip() != "":
if word not in listword:
listword.add(word)
word = input("Word: ")
print("You know", len(listword), "unique word(s)!")
Run Code Online (Sandbox Code Playgroud)