白駿4344:平均値を超えるだろう|パイソン
1316 ワード
質問する
大学生の新入生の90%が、自分がクラスにいる平均数を超えたと考えている.あなたは彼らに悲しい真実を伝えるべきだ.
入力
第1行は、試験例の個数Cを与える.
2行目から、各テストケースには、学生数N(1≦N≦1000、Nは整数)の最初の数字が与えられ、次いでN名の点数が与えられる.分数が0以上、100以下の整数.
しゅつりょく
それぞれの場合、平均値の1行を超える学生の比率を四捨五入し、小数点を3位に出力します.
に答える
c= int(input())
for i in range(c):
nums= list(map(int, input().split()))
avg = sum(nums[1:])/nums[0]
cnt = 0
for score in nums[1:]:
if score>avg:
cnt += 1
rate = (cnt/nums[0])*100
print(f'{rate:.3f}%')
試験用例個数cの入力
for文を使用してc範囲に数値を入力します.
スペースで入力し、リストで囲みます
ここで変数iは意味がない(iの代わりに「」を使う人もいる)
cが5の場合、0~4のインデックス値のみが入力され、リストが生成されます.
超えた場合は、0~4と入力してリストを生成します(説明がおかしいです)
平均、avgリストnumsを求める[1]:
すなわち,インデックス位置1から終了までsumを用いて加算する.
インデックス位置0 nums[0]から区切る
平均より高い学生を探すために.
cnt変数を設定し、初期値を0に指定します.
for文を使用してscore変数を指定しnums[1]
すなわちnums[1]の範囲内の数字はscoreである.
scoreがavgより高い場合、cntの値は1つ増加します.
cnt+=1はcnt=cnt+1を表す
平均より高い学生の割合をパーセントで比率に格納する
print文でf-string文を使用して小数点3ビットに出力
f-string文字列を使用する場合は前にfを付け、文字列「」に
変数、計算式はカッコで入力できます
f-stringで小数点以下の桁数を指定する場合は{変数:.3 f}を使用します.
区切り記号":"は、変数の左側の小数点以下の桁数、右側の小数点以下の桁数を指定します.
Reference
この問題について(白駿4344:平均値を超えるだろう|パイソン), 我々は、より多くの情報をここで見つけました https://velog.io/@dbrudskql823/백준-4344-평균은-넘겠지-파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol