Список поплавков, помеченных как NoneType - PullRequest
0 голосов
/ 20 сентября 2019

У меня возникли проблемы при работе со списком.Я просто хочу очень простую вещь: просто взять число из списка в функции и умножить это число на другое в главном.На самом деле это работает, я имею в виду, что число, взятое из списка, является правильным, но когда я умножаю его на число в основном, python делает исключение, говоря, что я не могу умножить «float» на «Nonetype».Итак, в основном Python говорит, что мои плавающие в списке типы не являются типами.Любые предложения?

Извините, я новичок здесь.Я не уверен, куда поместить код, поэтому я помещаю его здесь:

def findTime(time):

    day = 86400
    seconds = time % day
    f = [0.005, 0.03, 0.08, 0.15, 0.3, 0.7, 1, 0.8, 0.65, 0.5, 0.4, 0.3]
    perc = np.array(f, float)
    step = 2*60*60 # 2hours step
    phase_di_prima = -1
    i = 0
    for phase in range(0,day, step):
        #print("phase", phase)
        i = 0
        if seconds<phase and seconds>phase_di_prima:
            percentuale = perc[i]
            print("for arrival = "+ str(seconds)+ " perc = "+ str(percentuale))
            return percentuale.astype(float)
        phase_di_prima = phase
        i += 1


main


time_arrival = env.now + time_shift


    while True:
        perc = findTime(time_arrival)
        arrival_rate *= perc <----- error here

TypeError: неподдерживаемые типы операндов для * =: 'float' и 'NoneType'

1 Ответ

0 голосов
/ 20 сентября 2019

Определить arrival_rate:

arrival_rate = 1.0
while True:
    perc = findTime(time_arrival)
    arrival_rate *= perc 
...