Polish Python Coders Group Forum

Wszystko o języku Python => Wasza twórczość => Wątek zaczęty przez: kondek 15:29 15/12/18



Tytuł: Formatowanie print
Wiadomość wysłana przez: kondek 15:29 15/12/18
Hej, uczę się pythona i napisałem skrypt który wykonuje ciąg fibonacciego. Mam problem z formatowaniem wyników, tzn chciałbym użyć dynamicznej liczby spacji? Poniżej prezentuję grafikę jak chciałbym to zrobić.

(https://i.ibb.co/dGx9whg/fibonacci.jpg)

Kod:
Kod
def fib():
   a, b = 0, 1
   while True:          
       yield a            
       a, b = b, a + b    
 
def show_results():
 
   how_many_print = int(input("How many records do you want print ? "))
   for index, fibonacci_number in zip(range(1,how_many_print + 1), fib()):
    print('{i:3}: {f:3}'.format(i=index, f=fibonacci_number))
 
show_results()
 

Za pomoc serdecznie dziękuję!
Pozdrawiam


Tytuł: Odp: Formatowanie print
Wiadomość wysłana przez: Guaz 16:56 16/12/18
Pewnie, spójrz na to :)

Kod
>>> a = 2
>>> b = 3
>>> "{:^{}}".format(a, b)
' 2 '

Jeszcze musimy znać długość liczby bo której będziemy wyrzucać wyniki:
Kod
from math import sqrt
def len_of_fibbo(n):
   return len(str(((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))))

Połącz kropki ze swoim programem, jak nie wyjdzie to pisz, pomożemy dalej :D