2017-07-21 9 views
2

、それはこのために尋ねる:GROK learning-私はGROKの学習に質問をやっている「どのように多くの言葉」

あなたは新しい言語を学んでいる、そしてどのように多くのユニークワードを参照するには、競争を持っていますあなたの語彙学習をテストするためにそれを知っています。

一度に1単語を入力して、入力したユニークな単語の数がわかるプログラムを作成します。重複は数えないでください。空行を入力すると、プログラムはより多くの単語を要求しなくなります。例えば

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)! 

Word: Salam 
Word: 

You know 1 unique word(s)! 

複数の重複がある場合、私はそれが仕事を得ることができない、ここに私のコードは次のとおりです。

l = set() 
while True: 
    new_word = input("Word:") 
    if new_word=="": 
     break 
    l.add(new_word) 
print("You know " + str(len(l)) , "unique word(s)!") 

これは、Pythonの標準ライブラリの電源のための良い例です。この問題は簡単に解決することができるセットを使用して

word = input("Word: ") 
l = [] 
l.append(word) 
words = 1 
while word != "": 
    if word in l: 
     word = input("Word: ") 
    else: 
     words = 1 + words 
     word = input("Word: ") 
print("You know " + str(words) , "unique word(s)!") 
+1

セットを使用できます。これらは正確に設計されています。セット文書へのリンクは次のとおりです。https://docs.python.org/3.6/library/stdtypes.html#set – Benjamin

+2

初めて「l」に何も追加することはありません。 –

+1

単語の数を数えるために 'words'を使用する場合、' 0'に初期化し、 '1'に初期化しないでください(ユーザが単語を知らない場合を含めるために) – user2314737

答えて

0

。通常は問題がある場合は既にそこに良い解決策があります。

関連する問題