Python :: Aufgabe #338
3 Lösungen
Turmspringen/Wasserspringen (Punktewertung)
Anfänger - Python
von JKooP
- 02.04.2021 um 09:28 Uhr
Bei internationalen Wettkämpfen bewerten in Einzelwettbewerben sieben Wettkampfrichter die Sprünge.
Jeder vergibt pro Sprung 0 bis 10 Punkte, mit Schritten von halben Punkten.
Die zwei höchsten und niedrigsten Wertungen werden gestrichen.
Die verbleibenden drei Wertungen werden addiert und das Ergebnis mit dem Schwierigkeitsgrad multipliziert.
Das Endresultat entspricht der erzielten Punktzahl des Springers.
Beispiel 1:
Schwierigkeitsgrad: 2,1
Punkte: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Gestrichen: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Wertung: 7,5 + 7,5 + 8,0 = 23 * 2,1 = 48,3
Beispiel 2:
Schwierigkeitsgrad: 1,6
Punkte: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Gestrichen: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Wertung: 7,5 + 7,5 + 7,5 = 22,5 * 1,6 = 36
Erstelle eine Methode/Funktion, mit der die obige Aufgabenstellung gelöst werden kann.
Viel Spaß
Jeder vergibt pro Sprung 0 bis 10 Punkte, mit Schritten von halben Punkten.
Die zwei höchsten und niedrigsten Wertungen werden gestrichen.
Die verbleibenden drei Wertungen werden addiert und das Ergebnis mit dem Schwierigkeitsgrad multipliziert.
Das Endresultat entspricht der erzielten Punktzahl des Springers.
Beispiel 1:
Schwierigkeitsgrad: 2,1
Punkte: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Gestrichen: 7,5 | 7,5 | 7,0 | 8,0 | 8,0 | 7,5 | 8,5
Wertung: 7,5 + 7,5 + 8,0 = 23 * 2,1 = 48,3
Beispiel 2:
Schwierigkeitsgrad: 1,6
Punkte: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Gestrichen: 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5 | 7,5
Wertung: 7,5 + 7,5 + 7,5 = 22,5 * 1,6 = 36
Erstelle eine Methode/Funktion, mit der die obige Aufgabenstellung gelöst werden kann.
Viel Spaß
Lösungen:
Python-Code
import random a=float(input('Schwierigkeitsgrad auswählen: ')) wertung=[] for i in range(1,8): wertung.append((round(random.uniform(0,10)*2)/2)) wertung=sorted(wertung) del wertung[0:2] del wertung[-1:-3:-1] print(wertung) print('%2.2f' % (sum(wertung)*a))
Python-Code
""" #338: Turmspringen/Wasserspringen (Punktewertung) Die zwei höchsten und niedrigsten Wertungen werden gestrichen. Die verbleibenden drei Wertungen werden addiert und das Ergebnis mit dem Schwierigkeitsgrad multipliziert. """ def punktewert(punkte, diff): punkte = sorted(punkte) summe = 0 wert = [] for i in range(2, len(punkte) - 2): summe += punkte[i] wert.append(punkte[i]) print("gewertet ", wert) print("gestrichen", [punkte[0], punkte[1], punkte[len(punkte) - 2], punkte[len(punkte) - 1]]) print("Wertung ", "%0.1f" % round((summe * diff), 1), "\n") def main(): punktewert([7.5, 7.5, 7.0, 8.0, 8.0, 7.5, 8.5], 2.1) punktewert([7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5], 1.6) if __name__ == '__main__': main()
Python-Code
grad = 2.1 punkte = [7.5, 7.5, 7.0, 8.0, 8.0, 7.5, 8.5] def wertung(punkte,grad): for i in range(2): punkte.pop(punkte.index(min(punkte))) punkte.pop(punkte.index(max(punkte))) return sum(punkte) *grad print('Das Enresultat ist {:.1f} Punkte.'.format(wertung(punkte,grad)))