Python :: Aufgabe #291 :: Lösung #1

2 Lösungen Lösungen öffentlich
#291

Ranking von Punktzahlen

Anfänger - Python von JKooP - 04.10.2020 um 13:02 Uhr
Bei einer Sportveranstaltung wurden die erreichten Punkte in eine Punkteliste überführt.
Jetzt gilt es herauszufinden, wer die meisten und wer die wenigsten Punkte in der Liste hat, um daraus ein sogenanntes Ranking zu erstellen.

Punkteliste = [14, 11, 19, 7, 14, 8, 5]

Ranking1 = [2, 3, 1, 5, 2, 4, 6]

Da es bei Sportveranstaltungen bei Vergabe von zwei 2. Plätzen oft keinen 3. Platz gibt, sähe so ein Ranking folgendermaßen aus:

Ranking2 = [2, 4, 1, 6, 2, 5, 7]

Schreibe eine Methode/Funktion, die sowohl das 1. als auch das 2. Ranking ausgibt.

Viel Spaß
#1
vote_ok
von Marty3000 (680 Punkte) - 04.11.2020 um 09:12 Uhr
Quellcode ausblenden Python-Code
def get_unique(results: list):
    unique = []
    for i in results:
        if unique.count(i) == 0:
            unique.append(i)
    return unique


def get_ranking(results, r_list):
    ranking = []
    for i in results:
        rank: int = 0
        for j in r_list:
            if j > i:
                rank += 1
        ranking.append(rank + 1)
    return ranking


def test_291(results):
    print("Punkteliste: ", results)
    print("Ranking 1  : ", get_ranking(results, get_unique(results)))
    print("Ranking 2  : ", get_ranking(results, results))


if __name__ == '__main__':
    Punkteliste = [14, 11, 19, 7, 14, 8, 5]
    test_291(Punkteliste)

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben