Python dan anlamam ama aşağıdaki link işine yarayabilir.

https://stackoverflow.com/questions/...inimal-changes

Anladığım kadarı ile randomu genel değişkenlerde tanımladığın için 1 kere üretilen değer sabit kalıyor. Her alt fonksiyonu çağırdığında tekrar üretmen gerekiyor değeri.