Cześć.
Potrzebuję napisać program który przypisuje miejsca na podstawie wyników konkursu. Mam z tym kilka problemów.
Wyniki poszczególnych uczestników definiuję jako:
tablica = [
["staszek", 2, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 1, 2],
["rysiek", 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1, 2],
["marek", 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2],
....
],
Z każdej konkurencji można dostać 0, 1 lub 2 punkty. Na początek sumuje się wyniki co nie jest żadnym problemem. O pierwsze trzy miejsca jest dogrywka (gdy ta sama liczba punktów). Na przykład wyniki: 51, 51, 50, 50. Jest walka o miejsca 1 do 4. Następne miejsca (w tej samej sytuacji) rozstrzyga się inaczej. Wtedy porównuje się wynik pierwszej konkurencji a jeśli jest taki sam to kolejnej i kolejnej.
Zastanawiam się jak się wziąć za pisanie pisanie programu który przyporządkuje uczestnikowi miejsce lub dogrywkę.
Co do countback'u to można dla każdego uczestnika pomnożyć każdą konkurencje przez kolejną potęgę 0.1 A potem uporządkować. Ale pewnie istnieje bardziej wydajne rozwiązanie. Większy problem stanowi dla mnie stworzenie funkcji która przyporządkuje odpowiednim uczestnikom dogrywkę.
Pomożecie :-) ?