Wie gibt man dieses Stern-Muster in Python aus?
Bei einer Eingabe von 5 soll es zum Beispiel so aussehen:
Der Benutzer gibt die Anzahl der Sterne an.
Wie man die Abfrage macht ob der Benutzer eine ganze Zahl eingegeben hat weiß ich, aber wie schaut die Schleife aus?
Danke im Voraus!
4 Antworten
Wie man die Abfrage macht ob der Benutzer eine ganze Zahl eingegeben hat weiß ich
Das Problem ist eher dass der Benutzter gar keine Zahl eingibt... Aber auch das kann man mit einer einfachen try-except-Anweisung lösen... Was die Schleife betrifft:
Eingabe = int(input("Geben Sie eine Zahl ein:") #Hier natürlich die falschen Einaben abfangen...
i = 0
while i < Eingabe:
Ausgabe = ""
for x in range(i):
Ausgabe.append("*")
print(Ausgabe)
i +=1
#Eingabe
while True:
try:
n = int(input())
break
except ValueError:
print('Nur Ganzzahlen eingeben!')
#Einzeiler
print('\n'.join('*'*i for i in range(1,n+1)))
#Ausführlicher Weg
for i in range(1,n+1):
print('*'*i)
Du hast zwei Schleifen. Eine, die die Zeilen hochzählt, und eine innen drin, die die Sterne ausgibt (außer python hat dafür mal wieder ein feature)
ja , da kommt man sich vor wie früher bei den einzeiler wettbewerben in perl ;)
tatsächlich wie die andere antwort von kmkcl zeigt . ich sehe schon , ich kann zwar syntax , aber nicht wirklich python in seiner weisheit ;)
Ja, python ist grad zum skripten gut, da es für viele kleine Dinge, schnelle Kurzschreibweisen gibt. Mein Gebiet ist eher C und Java, aber Python wollte ich mir auch mal aneignen, wenn ich nicht grad Klausuren anstehen hab.
Ah, offensichtlich hat Python so ein Feature... siehe Antwort kmkcl.
for i in range(1,n):
print("*"*i)
Aber nach deinen anderen Fragen solltest du das auch selbst hinbekommen.
:-p
Ja, Python kann einem "normalen" Programmierer schnell Kopfschmerzen bereiten, weil es so eine andere Philosophie als C,C++,Java,Basic,Pascal... hat.
Ich fand mal eine Frage bei Stackoverflow passend: "what is the most pythonic way" :-p
Ich muss mich auch jedesmal erst wieder reindenken, aber schnell und effizient ist das Programmieren.