Seite 1 von 1
verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 12:49
von nfehren
Servus,
Bin grad dabei n kleines Progrämmchen zu schreiben, das zeilen und spaltenanzahl ließt und dann daraus ein Rechteck aus Sternchen macht.
Bleibe grade nur an der For- hängen. In der Ausbildung lernen wir mit C# und das wandele ich jetzt sozusagen in Python3 um.
Hier ist mein Code:
Code: Alles auswählen
#!/usr/bin/python3
zeile = input("Bitte geben sie die Zeilenanzahl an:\n")
spalte = input("Bitte geben sie die Spaltenanzahl an:\n")
for i =0; <= zeile:
for j = 0; j<=spalte:
print ("*")
print("\n")
Bei den beiden "for's" meckert er..
Danke für Antworten

Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 13:05
von BlackJack
@nfehren: Das ist ja auch keine gültige Python-Syntax. Du erwartest jetzt aber nicht ernsthaft das Dir jemand die Python-Dokumentation oder ein Grundlagentutorial vorliest, oder? Bei der Gelegenheit kannst Du auch gleich nachlesen was die `input()`-Funktion zurück gibt, also insbesondere welchen Typ die Werte haben.
Edit: Code 1:1 aus anderen Programmiersprachen zu übertragen führt übrigens häufig zu unidiomatischem Quelltext in der Zielsprache. Zumindest die innere Schleife würde man sich in Python zum Beispiel sparen weil Zeichenketten eine praktische Operation bieten um eine Zeichenkette aus Wiederholungen einer anderen Zeichenkette zu erstellen.
Code: Alles auswählen
from itertools import repeat
def main():
column_count = 42
row_count = 23
print('\n'.join(repeat('*' * column_count, row_count)))
if __name__ == '__main__':
main()
Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 13:12
von nfehren
BlackJack hat geschrieben:@nfehren: Das ist ja auch keine gültige Python-Syntax. Du erwartest jetzt aber nicht ernsthaft das Dir jemand die Python-Dokumentation oder ein Grundlagentutorial vorliest, oder? Bei der Gelegenheit kannst Du auch gleich nachlesen was die `input()`-Funktion zurück gibt, also insbesondere welchen Typ die Werte haben.
War ne dumme Frage sorry
hab den code jetzt verbessert:
Code: Alles auswählen
#!/usr/bin/python3
zeile = int(input("Bitte geben sie die Zeilenanzahl an:\n"))
spalte = int(input("Bitte geben sie die Spaltenanzahl an:\n"))
for i in range(0, zeile):
out = ""
for j in range(0, spalte):
out += "*"
print(out)
Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 13:33
von /me
Das lässt sich noch deutlich verkürzen wenn man im
Tutorial zum Thema Strings gelesen hat, dass mit dem *-Operator eine String-Wiederholung möglich ist.
Man könnte es mittels
join auch noch auf eine Zeile eindampfen.
Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 14:58
von snafu
Bei geschickter Nutzung der ``print()``-Funktion kann man sich das ``'\n'.join()`` sogar sparen:
Zugegeben sind da jetzt ganz schön viele Sternchen im Code. ^^
Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 15:03
von BlackJack
@snafu: Viele Sternchen passt doch zu Weihnachten.

Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 15:05
von snafu
Wobei das ja eher Flocken wären. Passt aber genau so. Ich frag mich schon, warum die nicht aus meiner Codezeile schweben...

Re: verschachtelte for schleife
Verfasst: Montag 16. Dezember 2013, 15:37
von nfehren
Vielen Danke für eure Antworten!!
Ist echt ein super Forum hier muss ich echt sagen
