Как сделать чтобы модуль random в python генерировал заданное кол-во чисел?
Как сделать чтобы модуль random в python генерировал заданное пользователем количество чисел, и записывал их в переменные(number1, number2...)?
Ответы (1 шт):
Если вам действительно, кровь из носу нужно сделать именно то, что вы описали - записывать значения в переменные с разными именами - то сделать это можно примерно так :
n=int(input('Количество переменных ?'))
var = 'number'
for i in range(n):
exec(var+str(i)+' = ' + str(random.random()))
print (number0,number1,number2)
>>>> 0.4762048720458498 0.5440981003615186 0.48892993316023026
Но "можно" не значит "нужно". Более того, такой стиль написания программ категорически не рекомендуется - такие программы невозможно поддерживать, они не самочитаемы и пр.пр.пр. Поэтому, если вы не знаете заранее сколько однотипных переменных вам в действительности понадобиться, сделать это можно элементарно через динамический список, тем более, что на Python это проще простого:
number=[]
for i in range(n):
number.append(random.random())
Еще один вариант - использовать массив numpy.
import numpy as np
number=np.random.random(n)
number
Out[31]: array([0.64145466, 0.55633192, 0.39217312])
Я бы настоятельно рекомендовал именно такой путь.