2017-02-24 8 views
0

私は自分の時間にPythonを初めて使い、自己学習します。 次のような基本的なやり方を学びました。forループを使って別のシーケンスを作成する

***** 
**** 
*** 
** 
* 

私は3つの方法があります。そして、彼らは以下のとおりです。3つの作品の

number = int(input("Enter a number: ")) 

for j in reversed (range(1, number+1)): 
    for i in reversed (range(1, o+1)): 
     print ("* ", end='') 
    print ('') 

for j in range(number): 
    for i in (range(number-o)): 
     print ("* ", end='') 
    print ('') 

for j in range(number+1): 
    number = number - 1 
    for i in (range(number+1)): 
     print ("* ", end='') 
    print ('') 

どちらか。しかし、私の質問は、コードをどのようにして印刷するのかです。

***** 
**** 
    *** 
    ** 
    * 

ありがとうございます!

答えて

0

アスタリスクを追加するのと同じ方法で、文字列の先頭に複数のスペースを追加できます。ここで

number = int(input("Enter a number: ")) 
for j in range(number): 
    for i in range(j): 
     print(" ", end='') 
    for i in range(number - j): 
     print("* ", end='') 
    print('') 
0

あなたは

number = int(input("Enter a number: ")) 

for j in range(number): 
     print((" " * (j)) + ("*" * (number-j))) 

使用すると、1つのループですべてを扱うことができるこの方法を試みることができるものですし、それはすぐにそれの意味を理解するのは簡単です。ループの繰り返しごとにスペースj回と「*」の番号-j倍のスペースを単に印刷します。

似たような手法を使って、投稿のやり方で三角形を印刷することができます。ここでチェックアウトするための4番目の方法があります。

number = int(input("Enter a number: ")) 

for j in range(number): 
     print(("*" * (j+1)) + (" " * (number))) 
関連する問題