python初心者です、正解数と正答率を表示するプログラムを教えてください。
下のプログラムを変えてもいいです。
よろしくお願いします。
def if_test(num): if num == 2: print('T') else: print('F') 2 print('でん、叙々苑、牛角はどんなチェーン店? 1,ステーキ 2,焼き肉 3,回転寿司 4,牛丼') num = int(input('何番だと思う?')) if_test(num) def if_test(num): if num == 3: print('T') else: print('F') 3 print('ものをはさんで固定する工具「万力」。何と読む? 1.まんりょく 2.ばんりょく 3.まんりき 4.ばんりき') num = int(input('何番だと思う?')) if_test(num) num.count('T') if_test(num)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
とりあえずこんなかんじで
python
1ok = 0 2ng = 0 3 4print('でん、叙々苑、牛角はどんなチェーン店? 1,ステーキ 2,焼き肉 3,回転寿司 4,牛丼') 5num = int(input('何番だと思う?')) 6if num == 2: 7 print('T') 8 ok = ok + 1 9else: 10 print('F') 11 ng = ng + 1 12 13print('ものをはさんで固定する工具「万力」。何と読む? 1.まんりょく 2.ばんりょく 3.まんりき 4.ばんりき') 14num = int(input('何番だと思う?')) 15if num == 3: 16 print('T') 17 ok = ok + 1 18else: 19 print('F') 20 ng = ng + 1 21 22#正解数 … ok 23#正答率 … ok/(ok + ng)
投稿2021/05/28 11:32
総合スコア7460
0
udon-kenさんが仰っているように元のプログラムだと機能が追加しづらい状態なので、少し複雑にはなってしまいますが私が書き直してそれを実装するとしたらこんな感じにします。ただ、takesima20さんの解答のほうがより元の形に近く分かりやすいのであくまでも参考程度にしていただければと思います。
python
1questions_list = [ 2 ["でん、叙々苑、牛角はどんなチェーン店? 1,ステーキ 2,焼き肉 3,回転寿司 4,牛丼", 2], 3 ["ものをはさんで固定する工具「万力」。何と読む? 1.まんりょく 2.ばんりょく 3.まんりき 4.ばんりき", 4], 4] # リストに問題を格納[[問題文, 答え], [問題文, 答え], ……] 5 6score = 0 7for q_and_a in questions_list: 8 # q_and_aに問題を一つずつ入れる 9 print(q_and_a[0]) # 問題文を表示(それぞれの問題のリストの1個目の要素) 10 num = int(input("何番だと思う?")) 11 answer = q_and_a[1] # 答え(それぞれの問題のリストの2個目の要素) 12 13 if num == answer: 14 print("T") 15 score += 1 16 else: 17 print("F") 18 19number_of_questions = len(questions_list) # 問題数を取得(問題を格納しているリストの要素数) 20correct_answer_rate = round(score / number_of_questions * 100) # 正答率を正解数÷問題数×100で計算し、四捨五入 21 22print(f"{number_of_questions}問中{score}問正解!(正答率{correct_answer_rate}%)") 23# pythonのf文字列という機能を使い文章の中に変数を入れる
投稿2021/05/28 11:39
総合スコア167
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
失礼ながら現段階のプログラムの設計が悪すぎて、このプログラムを修正する事は無駄だと思います。
クイズ的なものを作ろうとしているのだと思いますが、まず、クイズの基本の出題→回答→正誤チェックの部分をしっかり設計して作り直すべきと思います。
それができたら、正解数や正解率に取り組みましょう。
投稿2021/05/28 11:03
総合スコア657
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/30 00:07
退会済みユーザー
2021/05/30 05:19
2021/05/30 06:07
退会済みユーザー
2021/05/30 15:55
2021/05/30 17:13
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。