クリスマスツリー-Pythonループ
Christmas Tree Python Loop
実際、この質問は私たちのサイクルを実践し、規則性を見つける方法です。
n = int(input('input an integer')) i = 1 while i <= n: a = 2 * i - 1 b = '*' * a print(b.center(2 * n - 1)) i += 1 else: c = 1 while c <= n: d = '*' print(d.center(2 * n - 1)) c += 1
それを実装するとき、焦点は実際には、データの各行の中心と各行のデータの数をどのように達成するかです。
このツリーを表すために「*」を使用します。aは各行の「*」の数、aは見つかった各行の数です。
数の法則、次に中央の方法を使用して整列します。(2 * n-1)は、最後の行の「*」の数です。
トランクには、「*」を使用して、ツリーを中央に配置します。
Enter an integer 5 * *** ***** ******* ********* * * * * *
印刷結果は上記のとおりです。
改善されたバージョンもあります:
3Improve the above code to print as a number, such as: enter 3 1 222 33333 * * *
n = int(input('input an integer')) i = 1 while i <= n: a = 2 * i - 1 b = str(i) * a print(b.center(2 * n - 1)) i += 1 else: c = 1 while c <= n: d = '*' print(d.center(2 * n - 1)) c += 1
実際、この改善は、ブランチ部分が変更されたことです。各行は行数によって変化することがわかります。
つまり、各行の「*」を変更する限り、b = '*' * a、ブランチの内容を変更できます。
変数iを変更して、各行の内容を変更します。出力時に文字列型に変更する必要があります。
iはint整数型であるため、centerメソッドは使用できません。
出力は次のとおりです。
Enter an integer 5 1 222 33333 4444444 555555555 * * * * *