Wie kann ich die Ausgabe in einer Liste in Python 3 erstellen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich weiß nicht, was genau du meinst, aber vielleicht so:

my_list = list(x*x for x in range(100 + 1))

Die Liste kannst du dann so ausgeben:

print(my_list)

Viel Spaß! :)

"100+1" — das gefällt mir! Ich dachte schon, ich sei der einzige...

1

Über eine List-Comprehension:

my_list = [i**2 for i in range(101)]

Wie printe ich bestimmte Werte aus einem dictionary einer Liste in Python 3?

Ich habe beispielsweise folgendes Dictionary in einer Liste

l = [{'a' : '1,x' , 'b' : '2,y' , 'c' : '3,z'}]

Ich möchte davon z.B. nur z printen.

Ich probiere folgende Schleife zu schreiben:

for i in l.values(c):

print (i)

Aber das funktioniert nicht so wie ich es gerne wollte, weil das dictionary sich in der Liste befindet und ich nicht weiß wie ich so an die Werte rankomme.

Und die zweite Schwierigkeit wäre, dass der Wert '3,z' betragen würde. In meinem Beispiel wäre jetzt 3 ein Name und z ein Geburtsjahr. Ich könnte dann von der Länge des strings ausgehen und eine Bedingung schreiben, die mir nur 'z' printen würde. Wie verknüpfe ich dann die mir bekannten Befehle for und if richtig?

Ich studiere weder Informatik, noch kenne ich mich gut mit jener Fachsprache aus. Ich probiere erst seit kurzer Zeit rum und kenne auch nur simple Befehle. Da ich Eure Lösungen gerne verstehen würde, wäre es schön, wenn ihr das berücksichtigt.

Herzlichen Dank im voraus!

...zur Frage

PYTHON - einfacher try/except Block?

Hey allesamt, ich soll für folgenden Code eine Ausnahmebehandlung durchführen (try/except):

Zahlen = [2, 4, 6, 8.1, "Zahl"]

Summe = 0

for Zahl in Zahlen:

Summe += Zahl

print Summe

Nun, ich weiß, dass die Zeile 4 (Summe += Zahl), sobald Zahl in der for-Schleife zu "Zahl" kommt, den Code zum Abstürzen bringt. Ich weiß auch, dass es sich hier um einen TypeError handeln muss, da das Summe bilden sowohl für int als auch für floats funktioniert, "Zahl" jedoch ein String ist.

Nun habe ich folgende Aufgabe:

(c) Fangen Sie den Fehler mit einer Ausnahmebehandlung ab. Dabei sollen nur Fehler, die in der in (a) gefundenen Programmzeile (also Zeile 4) auftreten, abgefangen werden. Code, der nach der fehlerhaften Codezeile kommt, soll nur ausgeführt werden, wenn kein Fehler aufgetreten ist.

Ich habe jetzt schon viel herumprobiert, scheitere allerdings beim letzten Punkt. So wie ich das verstehe, soll ich mittels try/except eben das Programm trotz Fehler weiterlaufen lassen können, allerdings eben soll das "print Summe", da es sich ja nach der fehlerhaften Codezeile befindet nicht ausgeführt werden.

Mein Code sieht so aus:

Zahlen = [2, 4, 6, 8.1, "Zahl"] 

Summe = 0 

try:

  for Zahl in Zahlen:

    Summe += Zahl

    print Summe

except TypeError:

  print "Falscher Typ! Nur Integer oder Float zulaessig!"

Die Ausgabe in der Konsole sieht so aus:

1

3

6

10.1

Falscher Typ! Nur Integer oder Float zulaessig!

Das Programm stürzt also trotz Fehler nicht ab (immerhin etwas), allerdings wird bis das Programm zu "Zahl" kommt die Summe gebildet. Und die soll ja, so wie ich das verstehe, nur gebildet werden, wenn es im ganzen Programm zu keinem Fehler kommt.

Ich verstehe es also so:

1 Fehler im Programm bringt mir lediglich die Ausgabe "Falscher Typ! Nur Integer oder Float zulaessig!"

Kein Fehler im Programm bewirkt, dass ich als Ausgabe jeweils die gebildete Summe bekomme.

Wie kann ich mein Programm mit einfachen Mitteln (try, except, for-Schleifen, if-else usw.) so umschreiben, dass es genau das tut was ich glaube, dass es tun soll?

Hoffe die Frage war nicht zu lang haha, vielen Dank im Vorhinein! LG

...zur Frage

Was möchtest Du wissen?