def median(numbers):
numbers.sort()
if len(numbers) % 2:
# if the list has an odd number of elements,
# the median is the middle element
middle_index = int(len(numbers)/2)
return numbers[middle_index]
else:
# if the list has an even number of elements,
# the median is the average of the middle two elements
right_of_middle = len(numbers)//2
left_of_middle = right_of_middle - 1
return (numbers[right_of_middle] + numbers[left_of_middle])/2
Beispiele für Ergebnisse:
>>> x=[5,10,15,20]
>>> median(x)
12.5
>>> x=[17,4,6,12]
>>> median(x)
9.0
>>> x=[13,6,8,14]
>>> median(x)
10.5
ich diese Funktion ausgeführt haben und es funktioniert gut. Am Anfang war es schwierig die Ergebnisse zu verstehen, aber letztendlich habe ich es geschafft!Boden Divison Operator auf eine Liste in Python angewendet
Allerdings verstehe ich nicht, warum nur das erste Ergebnis ist wie es sein soll. Ich meine das Ergebnis ist der Durchschnitt der zwei mittleren Nummern der Liste.
Ich hoffe, Sie verstehen, ich lerne selbst und manchmal ist es nicht einfach.
Ich verstehe nicht, was Sie hier fragen. Das Ergebnis ist in allen drei Fällen korrekt. – sposnjak