I have a function that produces 10 random numbers as follows:
import random
def number_generate():
numbers=[]
while len(numbers)<10:
a=int(random.random()*10)
numbers.append(a)
return numbers
for i in range(1000000):
if i%100000==0:
print(number_generate())
It was working fine until I moved the initial list as an input of the function like this:
import random
def number_generate(numbers=[]):
while len(numbers)<10:
a=int(random.random()*10)
numbers.append(a)
return numbers
for i in range(1000000):
if i%100000==0:
print(number_generate())
Now all the produced numbers are the same. What is the difference between these 2 code blocks? Can someone explain this phenomenon?