В следующем коде случайное значение генерируется, как ожидалось:
import random
for i in range(10):
print(random.randint(0,10))
Однако это не работает, если я использую функцию:
import random
def f(val: int = random.randint(0,10)):
print(val)
for i in range(10):
f()
Почему результат второго фрагмента кода всегда одно и то же число? Самый похожий вопрос, который я смог найти, - это этот , но он относится к другому языку (я не владею им).