Как сделать чтобы модуль random в python генерировал заданное кол-во чисел?

Как сделать чтобы модуль random в python генерировал заданное пользователем количество чисел, и записывал их в переменные(number1, number2...)?


Ответы (1 шт):

Автор решения: passant

Если вам действительно, кровь из носу нужно сделать именно то, что вы описали - записывать значения в переменные с разными именами - то сделать это можно примерно так :

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])

Я бы настоятельно рекомендовал именно такой путь.

→ Ссылка