2017-02-24 21 views
0

我是新来的Python和自我学习在我自己的时间。 我学会了一些基本的技巧来打印下面的内容。使用for循环创建不同的序列

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

我发现了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 ('') 

无论是3个作品。但我的问题是,我应该如何制作代码才能打印。

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

在此先感谢!

回答

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))) 

这样你可以在一个循环处理一切,很容易快速地理解它。您只需在循环的每次迭代中打印一次j次的空格和一次“*”数字-j次。

您可以使用类似的技术以您在文章中的方式打印出三角形。这将是第四种方式让你检查。

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

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