質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

288閲覧

関数内で判定機能を作成し、具体例の結果通りの判定をしたい。

kaodnso82392749

総合スコア6

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/07/25 04:42

前提

ここに質問の内容を詳しく書いてください。
関数grandingで、引数に3つの整数を持っていて、それによって、平均が60.0以上なら「合格」、60.0未満なら「不合格」、渡される引数が足りなかったり、引数のどれかに0未満の数が入っていた際にはー1と「測定不能」となる文字列が返される関数を作成したいです。

実現したいこと

関数grandingという引数である3つの整数を使い、平均点が60以上であれば「合格」、60.0未満であれば「不合格」、渡される引数が足りない場合と引数のどれかに0未満が入っている場合はー1と「測定不能」となるように関数の内部を改善したいです。

[具体例1]
一つ目10
二つ目20
三つ目30
平均点は20.000、不合格です。

[具体例2]
一つ目60
二つ目70
三つ目80
平均点は70.000、合格です。

[具体例3]
一つ目-100
二つ目200
三つ目300
平均点はー1.000、測定不能です。

[具体例4]
一つ目500
二つ目1000
平均点はー1.000、測定不能です。

発生している問題・エラーメッセージ

エラーメッセージ ValueError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_18160/565785266.py in <module> 3 num3 = int(input('三つ目')) 4 avg,msg = granding(num1,num2,num3) ----> 5 print('平均点は{:,3f}、{}'.format(avg,msg)) ValueError: Invalid format specifier

該当のソースコード

Python

1def granding(num1,num2,num3): 2 avg = (num1 + num2 + num3) / 3 3 if( avg >=60.0): 4 msg = '合格' 5 return(avg,msg) 6 elif( avg >= 0 ): 7 msg1 = '不合格' 8 return(avg,msg1) 9 else: 10 msg2 = '測定不能' 11 return(avg,msg2)

上記の関数を改善して、

Python

1num1 = int(input('一つ目')) 2num2 = int(input('二つ目')) 3num3 = int(input('三つ目')) 4avg,msg = granding(num1,num2,num3) 5print('平均点は{:,3f}、{}'.format(avg,msg))

2番目に記載したソースコードで処理したいです。

試したこと

num1 + num 2 + num3を見やすいように、avgにまとめました。

補足情報(FW/ツールのバージョンなど)

Jupter Notebook

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2022/07/25 04:53 編集

エラーが発生している部分に限って言えば、{:.3f} を {:,.3f} に変更してみて下さい。 print('平均点は{:,3f}、{}'.format(avg,msg)) => print('平均点は{:,.3f}、{}'.format(avg,msg)) ただ、平均点は 100点以下でしょうから、カンマ区切りは不要かと思いますが。
guest

回答1

0

ベストアンサー

{:,3f}(カンマ)ではなく{:.3f}(ピリオド)ではないでしょうか?

投稿2022/07/25 04:47

RiaFeed

総合スコア2701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaodnso82392749

2022/07/25 04:51

初歩的な間違いをしておりました。ご指摘ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問