Python :: Aufgabe #289

3 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von jigga (4250 Punkte) - 11.10.2020 um 10:22 Uhr
Quellcode ausblenden 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)
vote_ok
von Waldgeist (1930 Punkte) - 13.10.2020 um 17:09 Uhr
Habe mich mal an Python gewagt: Ich hoffe meine Lösung ist nicht allzu schrecklich. Immerhin funktioniert der Code...
Grüße Waldgeist


Quellcode ausblenden 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()
vote_ok
von Harmlos (40 Punkte) - 16.10.2020 um 02:04 Uhr
Quellcode ausblenden 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)