Twitter (was mache ich gerade?)

    Suche

     

    Credits

    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 6953 Tagen
    Zuletzt aktualisiert: 17. Apr, 22:03

    Counter & Co.

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

    Locations of visitors to this page

    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]
    
    DonParrot - 16. Mai, 14:55

    Ich schau hier zwar immer artig vorbei, wenn ich über einen neuen Beitrag deinerseits informiert werde, verehrter Capitan - allerdings versteh ich noch nicht mal Bahnhof. *gg*

    Wünsche trotzdem weiterhin alles Gute.

    cptsalek - 16. Mai, 14:59

    Es freut mich

    ...wenn Du hier vorbei schaust, mein lieber Don. Das meine Python-Beiträge nicht für die Allgemeinheit verständlich sind, ist mir dabei bewußt, daran wenden sie sich noch nicht mal. ;-)
    Für mich sind sie eine Möglichkeit, das gelernte in kompackter Form aufzubereiten, auch, um hinterher nochmal nachschlagen zu können.
    Dabei blogge ich gerade alles, was ich hier auf der Platte liegen habe, wobei ich fast durch bin.
    Danach gibts auch wieder andere Themen, versprochen. :-)
    DonParrot - 16. Mai, 15:02

    Ist schon recht - wollte auch nicht meckern, nur mal wieder ein Lebenszeichen hinterlassen.

    Trackback URL:
    https://cptsalek.twoday.net/stories/2015388/modTrackback

    Aktuelle Beiträge

    Im happy I finally registered
    Excellent write-up. I absolutely love this site. Continue...
    http://mittenmail3.isblog.net/pick-a-winner-via-hashtag-entry-for-twitter-and-instagram-woobox-bl... (Gast) - 17. Apr, 22:03
    Just want to say Hi!
    I all the time emailed this blog post page to all...
    how to get instagram likes (Gast) - 30. Mär, 23:20
    Im happy I now signed...
    Hello, There's no doubt that your website could possibly...
    buy instagram followers cheap (Gast) - 30. Mär, 09:27
    Hallo Miau!
    Ich will einen schönen Tag wünschen, mit unseren Schmusekatzen....
    SCHLAGLOCH - 4. Apr, 14:51
    Sehe hier nut Tag und...
    Wo ist das Jahr an dem der Text geschrieben wurde?
    Gast (Gast) - 3. Mär, 20:38

    User Status

    Du bist nicht angemeldet.

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