Wie erstellt man so ein Stern-Muster in Python?
Der Benutzer kann die Anzahl der Sterne bestimmen.
Wie man die richtigkeit seine Eingabe (ob es eine ganze Zahl ist) überprüft weiß ich.
Wie schaut die Schleife dazu aus?
2 Antworten
Ich würde das nicht direkt mit Schleife machen, sondern einfach die Sternchen entsprechend oft aneinanderketten. Und dann den so zusammengefügten String ausgeben.
Bedenke, dass man für einen String s und eine ganze Zahl n mit n*s bzw. s*n einen String erhält, der entsteht, wenn man den String s n-mal mit sich selbst verkettet.
Beispielsweise so...
n = int(input("Gib eine Zahl für die Anzahl der Sternchen ein: "))
print(n*"*")
Bzw. wenn es mit Leerzeichen dazwischen sein soll...
n = int(input("Gib eine Zahl für die Anzahl der Sternchen ein: "))
print((n*"* ")[:-1])
Dabei dient das „[:-1]“ dazu, dass das letzte Zeichen (das Leerzeichen am Ende) nicht mit ausgegeben wird, sondern nur die Zeichen vor dem letzten Zeichen.
Ansonsten könntest du beispielsweise auch mit einer for-Schleife nach und nach die Sternchen mit der print-Funktion ausgeben.
Dabei solltest du jedoch beachten, dass der print-Befehl standardmäßig einen Zeilenumbruch am Ende einfügt. Wenn die Sternchen nebeneinander haben möchtest, kannst du beispielsweise mit end='' festlegen, dass am Ende nichts weiteres eingefügt werden soll, also insbesondere kein standardmäßiger Zeilenumbruch.
Beispiel:
n = int(input("Gib eine Zahl für die Anzahl der Sternchen ein: "))
for i in range(n):
if i == 0:
print("*", end='')
else:
print(" *", end='')
while True:
try:
n = int(input('Zahl eingeben: '))
break
except ValueError:
print('Nur Ganzzahlen eingeben!')
print('*'*n)