前提・実現したいこと
Pythonで四択クイズを作ろうとしています。
一度出した問題をもう一度出さないようにするために、
ランダムに出した問題をリストから削除してもう一度ランダムで問題を出したいと考えています。このようなコードにするとAttributeErrorと出ます。
発生している問題・エラーメッセージ
File "elearning2.py", line 26, in <module>
word.remove(random.choice(list(word.keys())))
AttributeError: 'dict' object has no attribute 'remove'
該当のソースコード
python
ソースコード
import random
word = {'「time」の意味は?\n1.時間 2.りんご 3.猫 4.食べ物':1,
'「money」の意味は?\n1.さくら 2.携帯 3.お金 4.パソコン':3,
'「dog」の意味は?\n1.髪 2.犬 3.虎 4.ウサギ':2,
'「apple」の意味は?\n1.りんご 2.コンセント 3.本 4.変数':1,
'「father」の意味は?\n1.寿司 2.電車 3.父親 4.アルバイト':3,
}
count = 0
score = 0
while count < 5:
count += 1
randomWord = random.choice(list(word.keys())) print(randomWord) inputword = input('\n答えを入力してください:') if inputword == word[randomWord]: print('正解です。') score += 20
word.remove(random.choice(list(word.keys())))
else: print('不正解です。正解は%sです。'%(word[randomWord])) word.remove(random.choice(list(word.keys())))
print('あなたの点数は%d点でした。'%(score))
試したこと
一度出した問題をもう一度出さないためにrandom.choiceではなくrandom.suffleにしましたがうまくいきません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 23:22 編集