ユーザ入力に基づいて特定の数のアスタリスクを印刷するためのPythonプログラムを作成しようとしています。私のコードは以下の通りですユーザ入力に基づいてアスタリスクを印刷するPythonループ
num_stars = 3
num_printed = 0
while num_printed <= num_stars:
print('*')
出力は無限ループです。私は星の数をアスタリスクとして印刷したい。
ユーザ入力に基づいて特定の数のアスタリスクを印刷するためのPythonプログラムを作成しようとしています。私のコードは以下の通りですユーザ入力に基づいてアスタリスクを印刷するPythonループ
num_stars = 3
num_printed = 0
while num_printed <= num_stars:
print('*')
出力は無限ループです。私は星の数をアスタリスクとして印刷したい。
num_printed変数を増やす必要があります。あなたはnum_printed
はもはや最後のスタートがカウントされた後に発生します星、そしてあなたのカウンタが増加の合計数よりも少ないときのためにチェックしたい:
num_stars = 3
num_printed = 0
while num_printed < num_stars:
print('*')
num_printed += 1
はまた、私は<
に<=
を変更することに注意してください。
なぜ単に問題がnum_printedがインクリメント取得されていないということです
print num_stars * '*'
を使用していません。 whileループで
、num_printed += 1
を追加し、num_printed < num_stars
に条件を変更し、そうでなければ、4つ星に印刷されます:あなたはここでループを使用しない場合
num_stars = 3
num_printed = 0
while num_printed < num_stars:
print('*')
num_printed += 1
を。多分このようなことをしてください:
stars = int(raw_input('number of stars: '))
star_list= ['*' for i in range(stars)]
print ' '.join(['%s' % i for i in star_list])