クリスマスツリー-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 * * * * *