【Python】点数のリストから順位を出す

はじめに

点数のリストから順位を出すプログラムを作成した。

ソースコード

rank_sum · ki-hi-ro/python@6e0850a

score_list = [100, 20, 30, 70, 70]
for score in score_list:
    rank_count = sum(1 for s in score_list if s > score)
    print(f"点数: {score}, 順位: {rank_count + 1}")

出力結果

点数: 100, 順位: 1
点数: 20, 順位: 5
点数: 30, 順位: 4
点数: 70, 順位: 2
点数: 70, 順位: 2

解説

5つの要素を持つscore_listがある。

score_list = [100, 20, 30, 70, 70]

for文で一つ一つの要素に対して処理を行う。

for score in score_list:
    rank_count = sum(1 for s in score_list if s > score)
    print(f"点数: {score}, 順位: {rank_count + 1}")

rank_countには、sum関数の内包表記で、自身の点数より大きい点数の数をカウントしている。

    rank_count = sum(1 for s in score_list if s > score)

そして、点数と順位を出力している。

    print(f"点数: {score}, 順位: {rank_count + 1}")

70の場合、70よりも大きい点数は100の一つだから、rank_countは1で、70の順位は1 + 1になる。

点数: 100, 順位: 1
点数: 20, 順位: 5
点数: 30, 順位: 4
点数: 70, 順位: 2
点数: 70, 順位: 2

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です