2017-04-18 5 views
-1

私のリストは選択肢の後に追加されます。基本的に、私は質問をします。あなたが入力したものは、このリストに入るものです。Python:リスト内の非特定の入力を検出する

何を入力しても何桁の質問をしますか?これは重複を作成したので、入力した金額が1より大きい場合は連結を使用して増分数値を追加しました。 (例えば、

"何をリストに追加したい?" ユーザー: "?どのように多くの" "犬" ユーザー: "3"

リスト=犬、DOG2、DOG3、 cat)

私の特定のプログラムでは、ユーザーが入力する可能性があることを知る方法がないので、私は使用できませんif ____ in _____できますか?また、今私はこれらの連結された文字列 'dog'と番号を持っています。私はちょうどリスト内の犬を検出するコードが欲しいですが、もう一度、私は犬がリスト内にあっても私は知らない!それは何でもかまいません!

+0

あなたのコードでは、正確に何をしたいのですか?現在直面している問題は何ですか?コードに入力された各用語の数を知ることを意味しますか? (例えば、「犬」が「3」に対応していることをコードに知ってもらいたいのですか?) – Windmill

+1

だから、何かを検出したいのですが、何を検出したいのですか? – ForceBru

+0

申し訳ありませんが、この詳細を含めることを意図しました@ForceBru、私は特に固執している部分は、このリストから特定の項目を削除する場合は、実際にはリストにあるものでなければなりません。しかし、このリストの項目の中には数字がありますので、重複しないようにしてください。 – jpcoder

答えて

1

説明とコメントから、必要なサンプルコードを次に示します。私はdictを作成し、アイテムをキーとして、カウントを値として保存しています。

item = input("What would you like to add to the list?") # User Input : Dog 
cnt = int(input("How many?")) : User Input : 3 

d = {item:cnt} # dict created {'dog': '3'} 

def callFunctionNtimes(d, key): 
    """ 
    Function which check the key (dog) is present in the dict, if it is present call callYourFunction as many times as it is the value(count) of the key. 
    """ 
    cnt = d.get(key, 0) 
    for c in range(0, cnt): 
     callYourFunction() 
0

セットとリストの間の変換を試してみてください。新しい入力を追加するときは、重複する要素を避けるためにリストをSetに変換します。いくつかのリストプロパティを使用する場合は、リストに変換します。

0

あなたが説明する問題については、辞書をリストよりも使用する方が便利です。このように実装できます

my_dict = {} 
my_dict['dog'] = 3 

辞書のキーとその値の数として何かを追加します。

0

ユーザが「どのくらいの数」のために入力した整数値を把握しようとしている場合、これを行う方法はいくつかあります。 データを含む辞書を用意することです。例えば 、このように

>>> dict = {} 
>>> "What would you like to add to the list?" User: "dog" "How many?" User: "3" 
>>> dict["dog"] = 3 
>>> dict 
dict = {'dog': 3} 
>>> dict['cat'] = 2 
dict = {'dog': 3, 'cat': 2} 
>>> for key in dict: 
>>> print(key + ": " + str(dict[key])) 
dog: 3 
cat: 2 

、あなたは辞書内の異なるキーを反復処理し、あなたが持っている「どのように多くの」は、それぞれの知ることができることができます。

辞書の各項目は、その数値に対応します。

関連する問題