我正在使用grok学习,我似乎无法通过这个问题。您需要制作一个程序程序,您可以一次输入一个单词,并告诉您输入了多少个唯一单词。你不应该重复计算。当您输入空行时,程序应停止询问更多单词。
这是我目前的代码:
words = []
word = input("Word: ")
while word != '':
words.append(word)
word = input("Word: ")
print('You know', len(words), 'unique word(s)!')
它计算您输入的单词数量,但我无法弄清楚如何检查单词是否唯一。以下是所需的输出:
Word: Chat
Word: Chien
Word: Chat
Word: Escargot
Word:
You know 3 unique word(s)!
这是另一个:
Word: Katze
Word: Hund
Word: Maus
Word: Papagei
Word: Schlange
Word:
You know 5 unique word(s)!
答案 0 :(得分:3)
>>> words = ['Chat', 'Chien', 'Chat', 'Escargot']
>>> set(words)
set(['Chien', 'Escargot', 'Chat'])
>>> "You know " + str(len(set(words))) + " unique word(s)!"
'You know 3 unique word(s)!'
答案 1 :(得分:0)
如果您不想存储重复项,请使用该集。
words = set() #initialize a set
word = input("Word: ")
while word != '':
words.append(word)
word = input("Word: ")
print('You know', len(words), 'unique word(s)!')
如果要存储所有元素而不管重复项,请使用列表
如果要在列表中查找唯一元素,请执行以下操作:
myset = set(words) #Now, myset has unique elements
print('You know', len(myset), 'unique word(s)!')
答案 2 :(得分:0)
根据您在本课程中应该学到的内容,您可以使用if
语句检查您正在查看的单词是否已在words
列表中,并且只有在列表中尚未添加时才添加它:
words = []
word = input("Word: ")
while word != '':
if word not in words:
words.append(word)
word = input("Word: ")
print('You know', len(words), 'unique word(s)!')
您将在课程后期了解有关集合的更多信息(这是解决此问题的更有效方法)。