Suche

 

Aktuelle Beiträge

Neues "Feature" im Captains...
Letzte Tage, beim Lesen meiner Blogroll, ging mir durch...
cptsalek - 4. Dez, 15:48
The story of stuff: Jetzt...
An einem der zurückliegenden 8. Dezember habe...
cptsalek - 4. Dez, 08:28
Das Leben ist gut
...so ganz ohne Windows. :-)
cptsalek - 2. Dez, 09:42
Vielen Dank für...
Vielen Dank für das Einstellen dieses Artikels! Endlich...
das Bäumchen (anonym) - 30. Nov, 12:34
HPV-Impfung
Ich mag naturbedingt ein skeptischer Mensch dem Kapital...
cptsalek - 29. Nov, 14:06

Credits

Knallgrau New Media Solutions - Web Agentur für neue Medien

powered by Antville powered by Helma


Creative Commons License

xml version of this page
xml version of this page (summary)
xml version of this page (with comments)

twoday.net AGB

Archiv

Mai 2006
Mo
Di
Mi
Do
Fr
Sa
So
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
13
14
20
21
22
23
25
27
28
29
31
 
 
 
 
 

Status

Online seit 1092 Tagen
Zuletzt aktualisiert: 4. Dez, 15:48

Counter & Co.

Egoload - Verträumter Idealist
Mein
Koordinaten auf der EgoMap:  93,2
100% Heidnisch

Locations of visitors to this page


Lilypie Expecting a baby Ticker

range() und for

Die for-Schleife in Python arbeitet ähnlich wie die in Unix-Shells: Anstelle von einer Startbedingung zu einer Endbedingung hochzuzählen, wobei die Schrittweise festlegbar ist, wie das bei C der Fall ist, geht Pythons for durch eine Menge von Elementen, wobei es egal ist, von welchem Typ diese Elemente sind:

>>> for x in ("Douglas Adams","Per Anhalter durch die Galaxis",42):
...    print x
...
Douglas Adams
Per Anhalter durch die Galaxis
42
Beim Programmieren ist das natürlich angenehm, weil man Tupel und Listen einfach nur angeben muß, um alle darin enthaltenen Elemente verarbeiten zu können.

Möchte man irgendwas hochzählen, braucht man eine Hilfe, und genau dafür ist range() da:

>>> for x in range(10):
...     print x,
...
0 1 2 3 4 5 6 7 8 9
Es fällt auf, das range bei 0 anfängt zu zählen, aber bei 9 aufhört, statt bis 10. Möchte man eine Ausgabe inklusive der 10, und die 0 möchte man auch nicht sehen, muß man entsprechende Änderungen vornehmen:

>>> max=10
>>> for x in range(1,max+1):
...     print x,
...
1 2 3 4 5 6 7 8 9 10
max ist die Obergrenze, bis zu der ich zählen möchte, und da ich diese inklusive haben möchte, inkrementiere ich den Ausdruck von max um 1.
Der Ausdruck range(a,b) bedeutet, zähle von a nach b, ein range(b) ist also gleichbedeutend mit range(0,b).
Es gibt noch eine dritte Möglichkeit, mit range() zu arbeiten:

>>> for x in range(1,32,2):
...     print x,
...
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Der dritte Wert gibt also die Schrittweite an, mit der hochgezählt werden soll. Übrigens funktioniert nicht die Kombination range(Obergrenze,Schrittweite), weil Python hier nicht wissen kann, ob nicht range(Startwert,Obergrenze) gemeint ist. Allerdings wird Python hier auch nicht sauer und haut einem Fehlermeldungen um die Ohren, es passiert nur nichts:

>>> for x in range(32,2):
...     print x,
...
>>>
range() funktioniert natürlich auch "subtrahierend:", wobei hier die Schrittweite auf jeden Fall angegeben werden muß, weil Python ansonsten davon ausgeht, dass wir eine Schrittweite von +1 haben wollen. Warum das so ist, werden wir später noch sehen:

>>> for countdown in range(10,-1):
...     print countdown
...
>>> for countdown in range(10,-1,-1):
...     print countdown,
...
10 9 8 7 6 5 4 3 2 1 0
for ist bei weitem nicht das einzige Einsatzgebiet für range(), vielmehr können hier auch Listen mit befüllt werden:

>>> countdown=range(10,-1,-1)
>>> countdown
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

Name

Url

Meine Eingaben merken?

Titel:

Text:


JCaptcha - du musst dieses Bild lesen können, um das Formular abschicken zu können
Neues Bild

 

Wichtiges/Interessantes aus anderen Blogs:

Netzfilter: Unbrauchbar und schädlich
<p>Sueddeutsche.de hat den Dresdner Informatik-Professor...

Twitter (was mache ich gerade?)

    User Status

    Du bist nicht angemeldet.

    ...wenn man trotzdem lacht
    Atari Mega ST
    Auf Arbeit
    Bloggen
    Bookmarks & Links
    BSD
    Bundeswehr
    CCC07
    Computing
    Datenschutz
    Fahrrad
    Fundsachen
    G8
    Garten
    Gentechnik
    Gesundheit
    ... weitere
    Profil
    Abmelden
    Weblog abonnieren