Однако ИМХО процедура выборки самолета должна быть примерно такой:
Код:
def select_plane(queue):
count=0
for n in range(len(queue)):
count+=queue[n]
rnd = random.randint(1, count)
next=0
for n in range(len(queue)):
if next > rnd:
return n
else:
next+=queue[n]
return n
В queue передается список количества самолетов, что-то типа:
queue = [90, 2, 1, 5, 1, 1]
Но выходе получаем индекс самолета. В данном случае функция почти всегда будет возвращать 1 (кол-во 90, т.е. самый распространенный самолет).
Вот результат прогона после 100 вызовов:
1 1 1 1 1 2 1 1 5 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 4
1 5 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1
1 4 2 1 1 1 1 1 1 1 5 1 1
P.s. написано на Питоне, из-за отсутствия Перла дома, на работе переведу