Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться с кодом. Случайные числа выстроились по порядку?

In the box play game Знаток (446), открыт 3 недели назад
Не силен в кодинге, чтобы не мучиться и не думать использовал много раз оператор if, на это внимание не обращайте. Вопрос в другом. Я беру сто случайных цифр, и из них выбираю самую встречающуюся (которая больше всех выпала). И такой эксперимент провожу миллион раз. Вопрос! Почему в итоге получается практически линейная зависимость? 0 выпадал чаще всех а 9 реже? Я думаю, что дело в моих кривых руках. Ну или в том то питон берёт псевдослучайные цифры. СРАЗУ ПРОШУ ПРОЩЕНИЯ ЗА ГОВНОКОДИНГ!КОД:
import matplotlib.pyplot as plt
import random
ma0=0
ma1=0
ma2=0
ma3=0
ma4=0
ma5=0
ma6=0
ma7=0
ma8=0
ma9=0
for p in range (1,1000001):
k0=0
k1=0
k2=0
k3=0
k4=0
k5=0
k6=0
k7=0
k8=0
k9=0
a=[]
for i in range (1,1001):
n = random.randint(0, 9)
if n == 0:
k0+=1
if n == 1:
k1+=1
if n == 2:
k2+=1
if n == 3:
k3+=1
if n == 4:
k4+=1
if n == 5:
k5+=1
if n == 6:
k6+=1
if n == 7:
k7+=1
if n == 8:
k8+=1
if n == 9:
k9+=1
a = [k0,k1,k2,k3,k4,k5,k6,k7,k8,k9]
max_value = max(a)
max_index = a.index (max_value)
if max_index == 0:
ma0+=1
if max_index == 1:
ma1+=1
if max_index == 2:
ma2+=1
if max_index == 3:
ma3+=1
if max_index == 4:
ma4+=1
if max_index == 5:
ma5+=1
if max_index == 6:
ma6+=1
if max_index == 7:
ma7+=1
if max_index == 8:
ma8+=1
if max_index == 9:
ma9+=1
x = [0,1,2,3,4,5,6,7,8,9]
y = [ma0,ma1,ma2,ma3,ma4,ma5,ma6,ma7,ma8,ma9]
plt.plot(x,y,'ro')
plt.show()
1 ответ
Андрей Высший разум (435433) 3 недели назад
Это ошибка методологии. Точнее, вот этой строчки:
max_index = a.index(max_value)

В массиве a может быть несколько элементов с идентичным максимальным количеством элементов (и таких массивов у тебя примерно 8%). Но ты учитываешь только элемент с наименьшим индексом. Потому, получаешь статистически значимый перекос в сторону меньших чисел.

Этого перекоса не будет, если ты будешь учитывать все индексы элементов, содержащих максимальное количество вхождений, или только группы, содержащие единственный максимум.
In the box play gameЗнаток (446) 3 недели назад
Спасибо огромное!
Похожие вопросы