2012-03-17 6 views
1

例:random.choiceの他のリストの条件として、リストのrandom.choiceをどのように使用しますか?

element = ['Flaming', 'Cold'] 
fire_properties = ['of Fire', 'of Flame'] 
cold_properties = ['of Ice', 'of Frost'] 

かなりシンプル。テキストランダマイザーを作って、この例によれば「火の剣」などの結果を得ようとしました。残念ながら、私は最初のリストからの結果がどのリストから2番目の結果になるかを定義するようにする方法を知りませんでした。このアプローチは維持し、理解しやすいです

weapon_map = {"Flaming": ["Fire", "Inferno"], "Frozen": ["Cold", "Frost"]} 
selection = random.choice(weapon_map.items()) 
print (selection[0] + " of " + random.choice(selection[1])) 

:あなたは形容詞と名詞の可能な組み合わせのマップを構築し、それらのいずれかを選択します。どのように解決策のような種類について

答えて

0

私は最初にこれを書いたが、Boris'sはもっと簡潔だったので、私は提出しないことに決めた。初心者のために少し読みやすいかもしれない。

quality_list = ['Flaming', 'Frozen', 'etc.'] 
quality = random.choice(quality_list) 

item_list = ['Sword', 'Dagger', 'Mace', 'etc.'] 
item = random.choice(item_list) 


hot_qualities = ['Flaming', ...] 
cold_qualities = ['Frozen', ...] 
hot_elements = ['Fire', 'Inferno'] 
cold_elements = ['Cold', 'Frost'] 

if quality in hot_qualities: 
    element = random.choice(hot_elements) 
elif quality in cold_qualities: 
    element = random.choice(cold_elements) 

# NB this is Python 2.X's print and string format, adjust accordingly for 3.X 
print "%s %s of %s" % (quality, item, element) 

実際のプロジェクトでは、私はBorisのようにさらに一般化しましたが、

+0

私はPythonコースを開始するかもしれないと推測します:) キーワード - [this](http://pyref.infogami.com/in)を読んだり、[Pythonリファレンス](http://docs.python.org/reference/expressions.html#not)で「inとnot in」にスクロールしてください-に)。 – egor83

5

+0

あまりにも悪い私はあなたがPythonを(教師と)勉強している間、qute後実際にプログラミングコースはXDを開始したばかりの(印刷を除いて)何も見たことがない。 「ハッシュ」が何であるかは分かりません。 – user1275670

+1

@ user1275670:それから私はhttp://www.google.com/search?q=python+tutorialがスタートかもしれないと言っています:) –

関連する問題