[英]Finding unique entries, using a list. Python
我正在使用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)!
>>> 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)!'
如果您不想存储重复项,请使用一组。
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)!')
根据您到那时在课程中应该学到的知识,可以使用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)!')
在本课程的后面,您将学到更多有关集合(这是解决此问题的更有效方法)的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.