Python :: Aufgabe #289
5 Lösungen
Differenz(en) von Eingabewerten
Fortgeschrittener - Python
von JKooP
- 04.10.2020 um 12:26 Uhr
Schreibe eine Methode/Funktion, die die maximale bzw. minimale Differenz von Eingabewerten ermittelt.
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
Lösungen:
Python-Code
liste = [3, -2, 18, -1, 50] def min_max(liste): _max = max(liste) liste.remove(_max) _min = min(liste) liste.remove(_min) _scnd_min = min(liste) liste.remove(_scnd_min) print("Min:", abs(_min - _scnd_min)) print("Max:", abs(_max - _min)) if __name__ == "__main__": min_max(liste)
Habe mich mal an Python gewagt: Ich hoffe meine Lösung ist nicht allzu schrecklich. Immerhin funktioniert der Code...
Grüße Waldgeist
Grüße Waldgeist
Python-Code
def eingabe(): global meineListe weiter = "ja" while (weiter == "ja"): print("Bitte geben Sie eine Zahl ein: ") try: zahl = int(input()) meineListe.append(zahl) except: weiter = "nein" def verarbeiten(): global meineListe global minimum global maximum meineListe.sort() #lokalesminimum = int(meineListe[1]) - int(meineListe[0]) laenge = len(meineListe) maximum = int(meineListe[laenge - 1]) - int(meineListe[0]) minimum=maximum for i in range(laenge-1): lokalesminimum = int(meineListe[i + 1]) - int(meineListe[i]) if lokalesminimum<minimum: minimum=lokalesminimum def ausgabe(): global meineListe global minimum global maximum print(" ") print("Minimum beträgt: ") print(minimum) print("Maximum beträgt: ") print(maximum) print("Dieses Programm ermittelt die minimale und maximale Differenz von eingegebenen Zahlen!") minimum=0 maximum=0 meineListe =[] eingabe() verarbeiten() ausgabe()
Python-Code
def min_max_abst(liste): c=-1000000000 d=1000000000 min_abs=1000000000 for k in range(0, len(liste)): #Berechnung den minimalen Abstandes for i in range(k, len(liste)): a=liste[i]-liste[k] if abs(a)<min_abs and i!=k: min_abs=abs(a) #Ergebnis minimaler Abstand print("Minimaler Abstand",abs(min_abs)) for m in range(0, len(liste)): #Berechnung des maximalen Abstandes if liste[m]>c: #Bestimmung des größten Wertes c c=liste[m] for n in range(0, len(liste)): if liste[n]<d: #Bestimmung des kleinsten Wertes d d=liste[n] max_abs=c-d #Ergebnis maximaler Abstand print("Maximaler Abstand", max_abs)
Python-Code
def get_min_diff(values): mindiff = abs(values[0] - values[1]) for i in range(len(values)): for j in range(len(values)): if i != j and values[i] >= values[j] and values[i] - values[j] <= mindiff: mindiff = values[i] - values[j] min_max = values[i] min_min = values[j] return mindiff, min_max, min_min def test_289(values): print("Min: %d, wegen %d - %d" % get_min_diff(values)) print("Max: %d, wegen %d - %d" % (max(values) - min(values), max(values), min(values))) if __name__ == '__main__': test_289([3, -2, 18, -1, 50])
Python-Code
data=[3, -2, 18, -1, 50] cluster = {} for value_1 in data: for value_2 in data: cluster[abs(value_1 - value_2)] = (value_1, value_2) del cluster[0] print(f'Liste: {data}') print(f'Min: {min(cluster.keys())}: {cluster[min(cluster.keys())]}') print(f'Max: {max(cluster.keys())}: {cluster[max(cluster.keys())]}')