Как дать пробел вместе с результатом печати - PullRequest
0 голосов
/ 27 мая 2019

Итак, я хочу создать функцию.Если я использую 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 ]

1 голос
/ 27 мая 2019

Использование str.rjust

Ex:

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


print_pattern(4)

Выход:

****
 ***
  **
   *
1 голос
/ 27 мая 2019
def print_pattern(input_number):
    for i in range(input_number):
        print((" " * i) + "*" * (input_number -i))

Примеры:

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

...