def euro():
# Gera 5 numeros
num_sol=[]
for i in range(5):
num=randint(1,50)
while num in num_sol:
num=randint(1,50)
num_sol.append(num)
num_sol.sort()
# Gera 2 estrelas
est_sol=[]
for i in range(2):
num=randint(1,9)
while num in est_sol:
num=randint(1,9)
est_sol.append(num)
est_sol.sort()
return [num_sol, est_sol]
Se notarmos, a geração dos números e das estrelas obedece ao mesmo padrão. Daí a ideia que escrever um sub-programa de geração de números.
def ger_numeros(quantidade, inf, sup):
num_sol=[]
for i in range(quantidade):
num=randint(inf,sup)
while num in num_sol:
num=randint(inf,sup)
num_sol.append(num)
num_sol.sort()
return num_sol
Feito isto podemos re-escrever o código.
def euromilhoes():
# Gera 5 numeros
num_sol=gera_numeros(5,1,50)
# Gera 2 estrelas
est_sol=gera_numeros(2,1,9)
return [num_sol, est_sol]
Note-se que a definição gera_numeros não está agarrada ao problema do euro milhões podendo ser usada em situações em que nos peçam uma lista de números inteiros, todos diferentes, entre certos limites.
Sem comentários:
Enviar um comentário