前提・実現したいこと
60以上の値が入力された回数を記録し合計に足す。0〜100以外の値が入力されたら再入力を要求。10回中60以上の値が一つも入力されなかったらゼロ割と表示
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Python3 ソースコード
def check(n):
if n<0 or n>100 :
raise ValueError
sum = 0
a = 0
for i in range(10):
while True:
score = int(input('点数を入力してください。(0~100)'))
try:
check(score)
i += 1
sum += score
break
except ValueError: print('0~100点の間を入力してください。') except ZeroDivisionError: print('ゼロ割')
print('合格者は',a,'人で、合格者のテストの平均は',sum/a,'点です。')
試したこと
ここに問題に対して試したことを記載してください。
if文の追加、関数定義の書き換え、追加
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 02:14
回答2件
0
ベストアンサー
こちらのコードのイメージですが如何でしょうか。
python
1# -*- Coding: utf-8 -*- 2def check(n): 3 if n < 0 or n > 100: 4 raise ValueError 5 6i = 0 7sum = 0 8a = 0 9for i in range(10): 10 score = int(input('点数を入力してください。(0~100)')) 11 try: 12 check(score) 13 except: 14 print('0~100点の間を入力してください。') 15 else: 16 if score > 59: 17 a += 1 18 i += 1 19 sum += score 20 21if a == 0: 22 print('ゼロ割') 23else: 24 print('合格者は',a,'人で、合格者のテストの平均は',sum/a,'点です。') 25
投稿2020/10/10 04:13
編集2020/10/10 08:39総合スコア446
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 04:42
2020/10/10 04:57
2020/10/10 05:05 編集
2020/10/10 05:14
2020/10/10 05:14
2020/10/10 05:24
2020/10/10 05:25
2020/10/10 05:26
2020/10/10 05:30
2020/10/10 08:15
2020/10/10 08:41 編集
2020/10/10 10:05
2020/10/10 10:08
2020/10/10 10:49
2020/10/10 10:55
2020/10/10 11:03
2020/10/10 11:23
2020/10/10 14:05
2020/10/10 14:23
0
どこまで試したか書いてもらえないでしょうか。
このコードだと、少なくともpythonのインデントのエラーにひっかかると思います。
投稿2020/10/10 03:20
総合スコア446
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 03:38
2020/10/10 04:13 編集
2020/10/10 04:41
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。