Witam
Napisałem sobie programik w którym postęp działania miał być przedstawiony w formie krzyżyka dopisywanego jeden za drugim.
Wycinek wygląda tak:
import time
b_postep=True
def f_postep(b_p,s_t,b_wl):
"""
Funkcja pokazujaca postep
postep - włączam wypisywanie lub wyłączamy
s_text - do wyswietlenia
b_w_linii - True lub False, w linii (end='') lub moze przejsc do nastepnej linii
"""
if not b_p:
return
time.sleep(0.5)
if b_wl:
print(s_t, end='')
else:
print(s_t)
return
f_postep(b_postep,'',False) ####################
f_postep(b_postep,'Generuję strony html\'a ',True) ###############
f_postep(b_postep,'#',True) ################
f_postep(b_postep,'#',True) ################
f_postep(b_postep,'#',True) ################
f_postep(b_postep,'#',True) ################
f_postep(b_postep,'#',True) ################
f_postep(b_postep,'#',False) ###############
Za pomocą zmiennej b_postep True/False włączam sobie ten "efekt". w funkcji dodałem time.sleep(), żeby było coś widać bo bez działa za szybko.
No i właśnie nie robi kroczków tylko od razu na końcu wypisuje wszystkie krzyżyki w jednym skoku. Dlaczego. Można jakąś podpowiedź.
Gdy odrzucimy end='' to wypisuje krok po kroku, ale jeden pod drugim.
Pozdrawiam
Radek Głębicki