* *** ***** ******* *********
код, скажем, такой:
for z in range(1,10,2): print(" " * ((10-z)//2) + "*" * z)
(не больше и не меньше), хотя регулируемый еще Лутце :-)
думал-думал - придумал (не работает):
#======== def bubu(): for z in range(1,10,2): yield print(" " * ((10-z)//2) + "*" * z) kuku = bubu() assert next(kuku) == " * " assert next(kuku) == " *** " assert next(kuku) == " ***** " assert next(kuku) == " ******* " assert next(kuku) == "*********"
(треугольник ровный, если что)
==============
иной способ тоже не хочет:
#======== def bubu(): for z in range(1,10,2): yield print( ("*" * z).center(9) ) kuku = bubu() """ assert next(kuku) == " * " assert next(kuku) == " *** " assert next(kuku) == " ***** " assert next(kuku) == " ******* " assert next(kuku) == "*********" """ kuku2 = bubu() assert list(kuku2) == """ * *** ***** ******* ********* """
И как узнать, что именно видит assert?
Может pytest поможет?
doctest знаю, но тоже не представляю, как это прикрутить