如何在打印结果中留出空格

时间:2019-05-27 06:24:25

标签: python-3.x string integer

所以,我想创建一个函数。如果我使用4作为输入数字,那么它将给出结果:

****
 ***
  **
   *

我使用这样的代码。

def print_pattern(input_number):
    for i in reversed(range(input_number)):
        integer = (i+1)
        if integer == input_number:
            output = (integer * '*')
        elif integer < input_number:
            output = " " + (integer * '*')
        print(output)

print_pattern(6)

但是,结果只显示出这样的第一个循环。

****
 ***
 **
 *

我该怎么办?

2 个答案:

答案 0 :(得分:1)

def print_pattern(input_number):
    for i in range(input_number):
        print((" " * i) + "*" * (input_number -i))

示例:

>>> print_pattern(4)
****
 ***
  **
   *
>>> print_pattern(6)
******
 *****
  ****
   ***
    **
     *

答案 1 :(得分:1)

使用str.rjust

例如:

def print_pattern(input_number):
    num = input_number+1
    for i in reversed(range(num)):
        print(("*"*i).rjust(input_number, " "))


print_pattern(4)

输出:

****
 ***
  **
   *