python
1result_dict = {} 2choice_dict = {} 3for name in ["鈴木","佐藤","高橋"]: 4 for i in range(3): 5 choice_dict[i] = random.choice(["グー","チョキ","パー"]) 6 # for文を抜ける前 7 print(name,choice_dict) 8 result_dict[name] = choice_dict 9 10# for文を抜けた後 11print(result_dict)
result_dict に三人がそれぞれ何を出したかを入れたいのですが、これを実行すると
print(for文を抜けた後)
{'鈴木': {0: 'パー', 1: 'グー', 2: 'チョキ'}, '佐藤': {0: 'パー', 1: 'グー', 2: 'チョキ'}, '高橋': {0: 'パー', 1: 'グー', 2: 'チョキ'}}
↑
上記のように三人の値が毎度同じになります。
print(for文を抜ける前)
鈴木 {0: 'グー', 1: 'グー', 2: 'チョキ'}
佐藤 {0: 'パー', 1: 'グー', 2: 'パー'}
高橋 {0: 'パー', 1: 'グー', 2: 'チョキ'}
理想はfor文を抜ける前の値が辞書化される状態なのですがどのようにすべきでしょうか?
上記に基づいた例
{'鈴木': {0: 'グー', 1: 'グー', 2: 'チョキ'}, '佐藤': {0: 'パー', 1: 'グー', 2: 'パー'}, '高橋': {0: 'パー', 1: 'グー', 2: 'チョキ'}}
のような値になることを望んでおります。
ご教授のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 12:17