私はPythonには新しく、random.choice関数に引数を渡すことに問題があります。pythonクエリ - 関数の引数が間違った型ですか?
基本的に私は 'a'リストからランダムな文字(他のリストのすべての名前)を選択し、選択した文字を生成するためにrandom.choiceに再度入力するループを作成しようとしていますランダムな文字列。
残念ながら、random.choiceの2回目の呼び出しは機能しません。新しいリストを指す代わりに、入力された文字を繰り返し続けます。任意のアイデアをどのようにこれを修正するには?私は数時間オンラインで見てきましたが、同様の問題や解決策は見つかりませんでした。どんな助けも大いにありがとう!
import random
a = ['b','c','d']
b = ['a','e']
c = ['a','d','f']
d = ['a','c','e','f','g','h']
e = ['b','d','h']
f = ['c','d','g','i']
g = ['d','f','i']
h = ['d','e','g','i']
i = ['f','h']
x = 0
answer = random.choice(f)
print "answer is %s " % answer
while x < 5:
answer2 = random.choice(answer)
print "answer2 is now %s " % answer2
x = x + 1
変数とデータの間にどのような違いによって参照されるリスト?変数名は辞書のエントリであり、構文的な砂糖の後ろに隠れています。 downvotingとみなされますが、あなたの方法は、たとえ過度に単純化していても、正しい方法です。 – agf
2つのコードを分けて保存すると、意図しない結果を招くことなくコードを理解しやすくなり、変更が容易になります。 (すべてのプログラミングは単なる機械コードであり、文法的な砂糖の後ろに隠れているので、@declanbコードをマシンコードで直接指定することはしません:-)) – RichieHindle
いいえ、 'getattr'を使う方法が分かっている状況があります。 Pythonがどのように動作するかを理解するためには、辞書キーとオブジェクト属性名の間に実際の違いがないという考え方が重要です。 – agf