Выход сдвига петли вправо

user9546355 спросил: 12 мая 2018 в 04:33 в: python

Мой вывод кода в консоли python выглядит так:

1. 0
2. 1
...
10. 15
11. 37
12. 112
13. 4562

что делать, чтобы он выглядел следующим образом:

1.     0
2.     1
...
10.   15
11.   37
12.  112
13. 4562

все числа смещены вправо?

Итак, вот код:

i = 0
first = 0
sec = 1
fib = 0
numeration = 1
amount = int(input("How many numbers from Fibonacci sequence you want to     see?\n"))print("Fibonacci sequence:")for i in range(amount):
    print(str(numeration) + ".", fib)
    fib = first + sec
    sec = first
    first = fib
    i += 1
    numeration += 1

1 ответ

Linuxios ответил: 12 мая 2018 в 04:57

Работа с Python: форматирование выходной строки, выравнивание по правому краю .

Заменить

print(str(numeration) + ".", fib)

на

print("{:<3} {:>8}".format(str(numeration) + ".", fib))

Это дает:

1.          0
2.          1
3.          1
4.          2
5.          3
6.          5
7.          8
8.         13
9.         21
10.        34
11.        55
12.        89
13.       144
14.       233
15.       377
16.       610
17.       987
18.      1597
19.      2584
20.      4181

3 указывает, насколько широкий столбец вы хотите для нумерации (в том числе .), а 8 указывает ширину столбца с правопорядком для самого номера Фибоначчи. > и < указывают выравнивание вправо и влево соответственно.