Nitin Mukesh Ответов: 1

Я получаю сообщение об ошибке назвали attributeerror: 'builtin_function_or_method' объект не имеет атрибут 'выбор'


Я пытаюсь построить график, в котором я постоянно получаю ошибку.

Что я уже пробовал:

from random import *
from matplotlib import pylab
from pylab import *

def flip(numFlips):

    heads = 0
    for i in range(numFlips):
        if random.choice(('H','T')) == 'H':
            heads +=1
    return heads/numFlips



def regressToMean(numFlips, numTrials):
    fracHeads = []
    for t in range(numTrials):
        fracHeads.append(flip(numFlips))

    extremes, nextTrials = [],[]

    for i in range(len(fracHeads)-1):
        if fracHeads[i]<0.33 or fracHeads[i] >0.66:
            extremes.append(fracHeads[i])
            nextTrials.append(fracHeads[i+1])

    # plot result

    pylab.plot(range(len(extremes)), extremes, 'ko', label = 'Extreme')
    pylab.plot(range(len(nextTrials)), nextTrials, 'k^', label = 'Next Trial')

    pylab.axhile(0.5)
    pylab.ylim(0,1)
    pylab.xlim(-1,len(extremes)+1)
    pylab.xlabel('Extreme example and next trial')
    pylab.ylabel('Fraction Heads')
    pylab.title('Regression to the mean')
    pylab.legend(loc = 'best')

regressToMean(15,40)

1 Ответов

Рейтинг:
2

Richard MacCutchan

Существует тонкая разница между "from random import *" и "import random" Используйте вторую версию, и она должна работать .


Nitin Mukesh

когда я использую import random он дает ту же ошибку

Richard MacCutchan

Я только что попробовал кое-что из вашего кода с помощью import random и это работает правильно.