Gibts bei python kein Programmblock?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rethus
User
Beiträge: 26
Registriert: Montag 7. August 2006, 19:53

Dienstag 8. August 2006, 12:13

Hallo,
ich bin ein totaler Newbie in Sachen python.
Gibts in python keinen Programmlock á la:

Code: Alles auswählen

if Anweisung { Programmblock} else {Programmblock}
rethus
User
Beiträge: 26
Registriert: Montag 7. August 2006, 19:53

Dienstag 8. August 2006, 12:18

Wer suchet, der findet....
Für alle, die sich die gleiche Frage stellen, :
Das bedeutet, dass Anweisungen, die zusammen gehören, die gleiche Einrückungstiefe haben müssen. Jeder solche Abschnitt von Anweisungen mit der gleichen Einrückungstiefe wird ein Block genannt. Wir werden bald in den folgenden Kapiteln Beispiele dafür sehen, warum Blöcke wichtig sind.
Weiter lesen kann man hier:
http://abop-german.berlios.de/read/indentation.html
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Dienstag 8. August 2006, 14:24

Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Dienstag 8. August 2006, 19:16

In anderen Sprachen rückt man ja auch ein, um den Code lesbar zu halten:

selten schreibt man

Code: Alles auswählen

if (bedingung) { langer programmblock;mit;1000;anweisungen } else {noch;laengerer;Programmblock}
vielmehr schreibt man, wenn man seinen Code auch in 2 Wochen noch lesen können will:

Code: Alles auswählen

if (bedingung) {
  langer programmblock;
  mit;
  1000;
  anweisungen;
} else {
  noch;
  laengerer;
  Programmblock;
}
In Python sieht das dann so aus:

Code: Alles auswählen

if bedingung:
  laenger programmblock
  mit
  1000
  anweisungen
else:
  noch
  laengerer
  Programmblock
Dadurch vermeidet man auch Fehler wie diese:

Code: Alles auswählen

int j = 0; k=0;
for (int i=0;i<100;i++)
  j++;
  k++;
printf("%i %i", j, k); //100 1, statt 100 100
Antworten