Python3 リストでクイズ作成 23区を標準入力
解決したいこと
条件
・リストにあらかじめ23区名を用意します
・下記の条件を使用
1. "end":終了
2. "?":解答済みのものを出力
3. 23区と比較:解答済みか否か,
4. 新規解答 True→終了,False→正解,重複→解答済
ここに 現時点では1度入力(例:渋谷)すると正解と出て終わってしまいます
そこで 何度も入力できるようにしたいです 解答はansリストが記憶していくようにしたいです
たとえば渋谷を入力して正解したら次の入力が促されて入力できるようにしたいです
もし重複する解答を入力した場合解答済みと表示
endを入力すると 強制終了
?を入力すると すでに回答したものがリストとして表示
該当するソースコード
''' diff_python3
条件追加
"end":終了
"?":解答済みのものを出力
23区と比較:解答済みか否か,
新規解答 True→終了,False→正解,重複→解答済
tokyo23 = ["千代田","中央","港","新宿","文京","台東","墨田","江東","品川",
"目黒","大田","世田谷","渋谷","中野","杉並","豊島","北","荒川",
"板橋","練馬","足立","葛飾","江戸川"]
解答を覚えるリスト(重複を避ける)
+ ans =[]
+
+ #while文とif文
+ while True:
+ kumei = input("東京23区の名前を入力せよ(区は不要,終了は「end」)")
+ # 同じ区名を一度しか入力出来ないようにする
+ if kumei == "end": # 終了
+ print("中断")
+ break
+ elif kumei== "?":
+ print(ans)
+ elif kumei in tokyo23: # 解答があるとき
+ if kumei not in ans: # 初めての解答であれば区名リストに追加
+ ans.append(kumei)
+ print("正解")
+ if len(tokyo23) == len(ans):
+ print("End")
+ break
+ elif kumei in ans: #解答済みの場合
+ print("解答済")
+ else:
+ print("不正解 23区にはありません")