2016-10-30 10 views
-2

文字(例:"*")を一定の回数連続して印刷するのに助けが必要です。たとえば:特定の文字数を印刷する

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

>>> 

私が書かれています:

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

と私は、これは間違っている知っているが、私は本当にここからどこへ行くかわかりません。

+1

**間違った種類のものを一緒に追加しようとしていることを伝えるメッセージが表示されます。次に、あなたのコードを読んで(そして必要に応じて紙に書いて)、各行の各名前にどのような値が割り当てられているかをメモします(例えば、 'total = total + asteriks'は' '*" = "*" + 1 "それは明らかに間違っていると思います)。たとえば、 http://pythontutor.com/あなたがこれを視覚化できない場合に役立ちます。あるいは、例えば、 '" * "* 4 ==" **** "'。 – jonrsharpe

答えて

0

total=total+asteriksこの行は間違っています。アスタリスクに "*"を加えた合計が1になります。乗算記号を使用する必要があります。

Jonrsharpeがコメントセクションであなたに語ったことにちょうど従います。

0

Jonrsharpeとして、あなたの「制御」変数は増加していないと言いました。これは、2行目と3行目を反転したためです。実際には、total = 1とasteriks = '*'を初期化するのが正しいバージョンです。

とにかく、 'asteriks'文字列ではなく入力パラメータが返されていることに注意してください。

関連する問題