Seite 1 von 1
Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 09:14
von Lukas_25025
Ich bin gerade dabei, Python zu lernen und hab den Code hier gesehen:
Kann mir jemand beschreiben, wie er funktioniert?
Code: Alles auswählen
while True:
def pattern(n):
x = 0
for i in range(0, n):
x += 1
for j in range (0, i + 1 ):
print(x, end = ' ')
print('\r')
pattern_number = int(input("enter a number: "))
pattern(pattern_number)
new_number = input('Do you want to test it with an another number? \n')
if new_number == 'no' or new_number == 'nein':
break
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 09:34
von kbr
Hast Du das Beispiel laufen lassen, um nachzuvollziehen, was geschieht? Der Code ist recht umständlich, das folgende Beispiel ergibt die gleiche Ausgabe:
Code: Alles auswählen
def pattern(n):
for i in range(1, n+1):
print(" ".join([str(i)] * i))
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 09:37
von /me
Die Frage ist jetzt etwas sehr breit. Was konkret verstehst du nicht? x = 0? Oder etwas anderes?
Man kann auf jeden Fall schon sagen, dass die Funktion pattern nicht in der Schleife definiert werden sollte.
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 11:05
von Sirius3
Wenn Du den Code gesehen hast, dann solltest Du ihn schnell unter "so nicht machen" abspeichern.
Funktionen definiert man nicht innerhalb von Schleifen.
`x` enthält immer den um 1 erhöhten Wert von `i`, ist also überflüssig. Ein '\r' richtet jetzt hier keinen großen Schaden an, ist aber auch unnötig verwirrend.
Bei "enter a number" würde der Nutzer gerne wissen, für was die Zahl den gut sein soll.
Bei einer in Englisch gestellten Frage würde ich jetzt nicht erwarten, dass ich eine Antwort auf Deutsch geben kann.
Code: Alles auswählen
def pattern(n):
for i in range(1, n + 1):
for j in range(i):
print(i, end=' ')
print()
while True:
pattern_number = int(input("enter a number: "))
pattern(pattern_number)
retry = input('Do you want to test it with an another number? \n')
if retry not in ['yes', 'ja']:
break
Und was konkret verstehst Du an dem Code nicht?
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 11:12
von __deets__
Ich denke mal der ist von hier
https://medium.com/edureka/python-patte ... e1e764a42f oder einer aehnlichen Seite, tut, was er soll, und jetzt muessen wir nur noch die Erklaerung liefern, damit der Lehrer/Dozent zufrieden ist....
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 12:29
von Lukas_25025
Mir geht es um die Stelle wo die 2. for Schleife beginnt, die kapier ich nicht, alles davor und danach ist mir klar, aber die 2 for Schleife versteh ich nicht
Re: Wie funktioniert dieser Code?
Verfasst: Freitag 13. August 2021, 12:46
von rogerb
@Lukas_25025,
das sind ja nur zwei Zeilen:
Da wird wiederholt der Wert von x plus einem Leerzeichen (end=' ') ausgegeben. "end" wäre normalerweise "\n" - also ein Zeilenumbruch. Der wurde jetzt durch " " ersetzt, daher wird alles in eine Zeile ausgegeben.