Seite 1 von 1

Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:08
von Nic97o
Hallo liebe Community,
ich bin ein wirklich frischer Anfänger und möchte ein Programm schreiben das mich werte speichern lässt und nach Nachfrage ausgibt als zusammengefasster Wert.Meine Frage ist wie lasse ich es in diesen Programmierbeispiel die Listeneingaben in einen Wert zusammenrechnen ? Habe es schon mit sum probiert zum zusammenrechnen aber weiß nicht genau wie ich es auf diese Zeilen anwende Vielen Dank für hilfreiche Antworten

Code: Alles auswählen

liste = []
def eingabe_zahl():
        while True:
                eingabe =input('Geben Sie eine Zahl ein und bestätigen sie mit \Enter. Wenn sie genug Zahlen eingegeben haben, Geben Sie # ein.')
                if eingabe == '#':
                        break
                        return eingabe
                else:
                        liste.append((eingabe))
                    

wahl = -1
while wahl !=0:
        print("***-----1: In Liste eingeben -----***")
        print("***-----2: Die Liste ausgeben-----***")
        wahl = int(input("Bitte auswählen: "))
        if wahl == 1:
                eingabe_zahl()
        elif wahl == 2:
                print (liste)

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:21
von __deets__
Was ist denn ein "zusammengefasster" Wert? Soll das die Summe der Werte sein? Und wenn ja, was passiert, wenn du sum(liste) ausfuehrst?

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:29
von Nic97o
hallo _deets_,
entschuldige wenn ich mich nicht richtig ausgedrückt habe. Ich meine damit die mehrenen Listeneingaben [1,1,1] als einen Wert zusammen zu summieren als in diesen Beispiel als Summe dann 3 und dann auszugeben.

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:39
von __deets__
Also soll das die Summe sein. Und was passiert, wenn du sum(liste) machst in deinem Kommando 2?

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:44
von Nic97o
meinst du statt

Code: Alles auswählen

 elif wahl == 2:
     print (liste)
so

Code: Alles auswählen

print sum(liste)

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:53
von __deets__
Probier es doch einfach aus ;) Und es wird mit ziemlicher Sicheheit einen Fehler geben, aber in deinem Code ist schon die Antwort auf die Frage, wie er zu loesen ist.

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 13:55
von Sirius3
@Nic97o: das Programm bringt einiges durcheinander. Die Funktion `eingabe_zahl` (eigentlich eingabe_zahlen) ist komisch. Nach dem `break` wird die Schleife verlassen und das `return` nie ausgeführt. `liste` ist eine globale Variable, die nicht exisitieren sollte, das sollte eine lokale Variable von `eingabe_zahl` sein, die dann per return zurückgegeben wird. Eingerückt wird immer mit 4 Leerzeichen pro Ebene.

Statt wahl mit einem Dummy-Wert zu belegen, nimmt man ein while-True-Schleife, die per break nach entsprechender Bedingung verlassen wird.
Ohne etwas an der Funktionalität zu ändern sähe das alles so aus:

Code: Alles auswählen

def eingabe_zahlen():
    zahlen = []
    while True:
        eingabe =input('Geben Sie eine Zahl ein und bestätigen sie mit \Enter. Wenn sie genug Zahlen eingegeben haben, Geben Sie # ein.')
        if eingabe == '#':
            break
        else:
            zahlen.append(eingabe)
    return zahlen

def main():
    zahlen = []
    while True:
        print("***-----1: In Liste eingeben -----***")
        print("***-----2: Die Liste ausgeben-----***")
        wahl = int(input("Bitte auswählen: "))
        if wahl == 1:
            zahlen = eingabe_zahlen()
        elif wahl == 2:
            print(zahlen)
        else:
            break

if __name__ == '__main__':
    main()
Wenn Du Zahlen eingeben willst, solltest Du die Strings dann auch in Zahlen umwandeln, damit man damit rechnen kann.

Re: Python Liste zusammenrechnen

Verfasst: Donnerstag 2. August 2018, 14:03
von Nic97o
hi danke für die freundliche Begrüßung und die schöne Erklärung von euch. Ich werde mal schauen was sich machen lässt :)