2016-10-30 4 views
-2

Ich brauche Hilfe beim Drucken eines Zeichens (z. B. "*") eine bestimmte Anzahl von Malen in Folge. Zum Beispiel:Drucken einer bestimmten Anzahl von Zeichen

>>> printingAsteriks(4) 
**** 
>>> printingAsteriks(6) 
****** 
>>> printingAsteriks(0) 

>>> 

Ich habe geschrieben:

def printAsteriks(ast): 
    total="*" 
    asteriks=1 
    while asteriks<=ast: 
     total=total+asteriks 
     asteriks=asteriks+"*" 
    print(ast) 

und ich weiß, dass dies falsch ist, aber ich weiß nicht wirklich, wo man von hier geht.

+1

** Lesen Sie die Fehlermeldungen sorgfältig. ** Sie werden Ihnen sagen, dass Sie versuchen, die falschen Dinge zusammenzufügen. Dann lies deinen Code (und schreibe ihn auf Papier aus, falls nötig) und notiere, welcher Wert jedem Namen in jeder Zeile zugewiesen wird (zum Beispiel: total = total + asteriks ist '" * "=" * "+ 1') Das ist, ich hoffe, offensichtlich falsch). Sie können z.B. http://pythontorer.com/ hilfreich, wenn Sie dies nicht visualisieren können. Man beachte alternativ, dass z.B. '" * "* 4 ==" **** "'. – jonrsharpe

Antwort

0

total=total+asteriks Diese Zeile ist falsch. Sie addieren total, das ist das "*" zu Sternchen, das 1 ist. Sie müssen das Multiplikationszeichen verwenden.

Folgen Sie einfach dem, was Jonrsharpe Ihnen im Kommentarbereich gesagt hat.

0

wie Jonrsharpe sagte Ihre Variable "Kontrolle" ist nicht erhöht. Weil Sie die Zeilen 2 und 3 umgedreht haben, ist die korrekte Version eigentlich die Initialisierung von total = 1 und asteriks = '*'.

Beachten Sie, dass Sie den Eingabeparameter und nicht die Zeichenfolge 'asteriks' zurückgeben.

Verwandte Themen