Я создал программу, предназначенную для печати списка чисел, выбранных случайным образом из массива чисел, без повторения какого-либо числа.
Например, я ожидал следующего:
number_list(180, 222, 5)
219, 180, 185, 191, 197,
Но результаты, которые дала мне моя программа, похожи, и сгенерированные числа всегда близки к значению крайностей массива (180 и 222). Например:
219, 180, 182, 181, 184,
221, 181, 180, 183, 184,
219, 221, 222, 180, 181,
222, 219, 181, 180, 182,
На данный момент я думаю, что должна быть какая-то проблема с программой, которую я написал, и это не проблема, вызванная функцией random.randomint ().
Я использовал следующий код:
from random import randint
def number_list(start, end, length):
tot_list = []
for i in range(start, end+1):
tot_list.append(i)
list_len = len(tot_list)
while(length > 0):
index = start - randint(start-1, start + length-1)
length = length -1
number = tot_list[index]
tot_list.remove(number)
print(str(number) + ", ")
number_list(180, 222, 5)