Seite 1 von 1
Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 22:18
von Tobias96
Hallo Leute

,
Kann mir jemand bei meinem Problem behilflich sein, ich möchte das mein Programm, wenn ich z.B 5 eingebe für n den print teil für beide insgesamt 5x ausgibt und nicht 5 x beide print teile.
Mein Programm :
Code: Alles auswählen
n = input("n eingeben")
n = int(n)
i = 0
for i in range(0,n):
print(n*"* " )
print(((n-1)*" *"))
print("fertig")
Wäre echt toll, wenn mir jemand helfen könnt.
Lg
Tobias
Re: Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 22:31
von BlackJack
@Tobias96: Also mir ist nicht so ganz klar was Du erreichen willst. Kannst Du das eventuell noch einmal anders beschreiben und/oder Zeigen wie die Ausgabe für ein gegebenes `n` aussehen soll?
Die Zuweisung an `i` vor der Schleife macht keinen Sinn.
Statt `n` erst an die eingegebene Zeichenkette zu binden und dann an die Zahl die daraus umgewandelt wurde, solltest Du gleich auf die Eingabe die `int()`-Funktion anwenden.
Re: Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 22:37
von Tobias96
BlackJack hat geschrieben:@Tobias96: Also mir ist nicht so ganz klar was Du erreichen willst. Kannst Du das eventuell noch einmal anders beschreiben und/oder Zeigen wie die Ausgabe für ein gegebenes `n` aussehen soll?
Die Zuweisung an `i` vor der Schleife macht keinen Sinn.
Statt `n` erst an die eingegebene Zeichenkette zu binden und dann an die Zahl die daraus umgewandelt wurde, solltest Du gleich auf die Eingabe die `int()`-Funktion anwenden.
Danke für deine schnelle antwort BlackJack , ja stimmt das mit i = 0 habe ich im nachhinein gemacht aus verzweiflung

Also es soll ungefähr so sein, wenn ich für n 5 eingebe .
Er gibt es mir aber so aus :
Code: Alles auswählen
* * * * *
* * * *
* * * * *
* * * *
* * * * *
* * * *
* * * * *
* * * *
* * * * *
* * * *
Re: Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 22:54
von kbr
Tobias96 hat geschrieben:Also es soll ungefähr so sein, wenn ich für n 5 eingebe
Also etwas das so ähnlich wie ungefähr wie das folgende ist, je nach dem, was auch immer Du meinst:
Code: Alles auswählen
i = int(input('Bitte n eingeben:'))
for n in range(i):
print(' *' * 4 if n % 2 else '* ' * 5)
Re: Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 22:57
von BlackJack
@Tobias96: Dann willst Du nicht in jedem Schleifendurchlauf beide `print()`-Aufrufe machen, sondern abwechselnd den einen und den anderen. Also musst Du irgendwie mit einem ``if``/``else`` basierend auf dem Wert von `i` entscheiden welcher Aufruf gemacht werden soll. Welche mathematische Eigenschaft haben denn alle `i`-Werte für den einen Aufruf die die `i`-Werte für den anderen Aufruf nicht haben‽
@kbr: Den Benutzer nach `n` Fragen und die Eingabe dann an `i` binden, finde ich verwirrend.
Edit: Ungetestet:
Code: Alles auswählen
from itertools import cycle, islice
n = int(input("n eingeben: "))
for line in islice(cycle([n * '* ', (n - 1) * ' *']), n):
print(line)
Re: Problem mit meinem Programm
Verfasst: Dienstag 22. November 2016, 23:04
von kbr
BlackJack hat geschrieben:Den Benutzer nach `n` Fragen und die Eingabe dann an `i` binden, finde ich verwirrend.

Das war extra um Dich zu verwirren, denn der Benutzer sieht 'i' ja gar nicht

Re: Problem mit meinem Programm
Verfasst: Mittwoch 23. November 2016, 18:26
von Tobias96
Danke für eure hilfe hab es jetzt hinbekommen
