Seite 1 von 1

IndentationError, warum?

Verfasst: Donnerstag 1. Dezember 2005, 12:47
von gast
:shock:

Code: Alles auswählen

 a = range(20, 31)
           for i  in range (len (a)):
           print i
Warum krieg ich diese Fehlermeldung? :

"IdentationError: expected an idented block"

Edit (Leonidas): Code in Python-Tags gesetzt und Threadtitel aussagekräftiger gemacht.

Re: ??????

Verfasst: Donnerstag 1. Dezember 2005, 12:55
von lutz.horn
gast hat geschrieben:Warum krieg ich diese Fehlermeldung? :

"IdentationError: expected an idented block"
Weil Deine Einrückung nicht stimmt. Schreib:

Code: Alles auswählen

a = range(20, 31)
for i in range(len(a)):
    print i
Übrigens würde

Code: Alles auswählen

for i in range(11):
    print i
das gleiche Verhalten ergeben.

Edit (Leonidas): Code in Python-Tags gesetzt.

Verfasst: Donnerstag 1. Dezember 2005, 13:15
von jens
@gast: Bitte auch etwas aussage kräftigere Titel benutzten! z.B. "IdentationError, warum?"

thx

Verfasst: Donnerstag 1. Dezember 2005, 20:38
von gast
Danke für die prompte Hilfe.

Code: Alles auswählen

#geradeZahl.py
""" gerade Zahlen zwichen 20 und 30 erkennen"""

a = range(20, 31)
 
for i in range(len (a)):
 #    print a[i]
     if a[i]%2 == 0:
	     print "Diese Zahl ist eine ganze Zahl:"
	     print a[i]

Verfasst: Donnerstag 1. Dezember 2005, 23:08
von BlackJack
Du kannst auch direkt über die Liste mit den Zahlen iterieren, ohne noch eine zusätzliche Liste mit Indizes in `a` zu erzeugen.

Code: Alles auswählen

a = range(20, 31)
for i in a:
    if i % 2 == 0:
        print '%d ist eine gerade Zahl.' % i

Verfasst: Freitag 2. Dezember 2005, 13:29
von Leonidas
Ich hätte noch folgendes anzubieten, dass in der Liste sowieso nur gerade Zahlen sind:

Code: Alles auswählen

for i in xrange(20, 31, 2):
    print '%d ist eine gerade Zahl.' % i