Seite 1 von 1

Python 3 eine while in for-schleife umschreiben

Verfasst: Mittwoch 16. November 2016, 11:10
von stefan4laft
Einen Schönen Guten Tag,
Ich bin ein Informatik Student der vor kurzem erst mit Programmieren angefangen hat.
Da ich mit Python nicht so wirklich vertraut bin wäre ich um jeden Tipp geben wie man am besten und schnellsten die Sprache lernt dankbar !
Zurzeit beschäftige ich mich mit einer Übungsaufgabe die verlangt eine while-schleife in eine for-schleife umzuschreiben, könnte jemand mir dabei behilflich sein ?

Der Code lautet:

Code: Alles auswählen

x = 1
sting = ""
while x < 10:
    print("x is ", x)
    string += ' ' + str(x)
    x += 1
    print("Now, x is ", x)
    print("All previous numbers: ", string)

Liebe Grüße stefan4laft

Re: Python 3 eine while in for-schleife umschreiben

Verfasst: Mittwoch 16. November 2016, 11:22
von heiner88

Code: Alles auswählen

for x in range(1,10)
    ...

Re: Python 3 eine while in for-schleife umschreiben

Verfasst: Mittwoch 16. November 2016, 12:16
von BlackJack
@stefan4laft: Der Code ist fehlerhaft weil Zeile 5 zu einer Ausnahme führt weil `string` nicht definiert wurde.

Das Umschreiben ist hier gar nicht so einfach weil der Wert von `x` innerhalb der Schleife *vor* und *nach* dem erhöhen ausgegeben wird, dieser Teil des Programmflusses bei einer ``for``-Schleife *in* dem Schleifenkonstrukt gekapselt ist, man dort also innerhalb der Schleife immer nur an den aktuellen, unveränderten Wert von der Laufvariablen heran kommt. Das heisst in diesem Fall ist die ``while``-Schleife die Schleifenart die man haben möchte und nicht die ``for``-Schleife.

Re: Python 3 eine while in for-schleife umschreiben

Verfasst: Mittwoch 16. November 2016, 12:33
von heiner88
Der Original-Code war nicht formatiert.
Vielleicht sollte der Code so lauten:

Code: Alles auswählen

x = 1
string = ""
while x < 10:
    print("x is ", x)
    string += ' ' + str(x)
    x += 1
print("Now, x is ", x)
print("All previous numbers: ", string)

Re: Python 3 eine while in for-schleife umschreiben

Verfasst: Mittwoch 16. November 2016, 12:39
von BlackJack
@heiner88: Der Originalcode steht im ersten Beitrag. Ich habe da nichts weiter dran verändert ausser die Tags drum herum zu setzen. Die Einrückung war schon so wie sie dort steht.