Почему при выполнении этого кода программа дожидается пока закончится цикл for и только потом выводит "Привет!" целиком? Если убираю аргумент end в print, то проблема исчезает, буквы поочередно выводятся с указанным интервалом, но с переводом строки при каждой итерации списка, что мне не нужно.
import time
def func(text):
lis = list(text)
for i in lis:
print(i, end = "")
time.sleep(0.05)
func("Привет!")