首页 > 解决方案 > Python中的NameError与函数的返回变量

问题描述

FindACar 功能实际上很好用。它做我想要的。但是只有一个问题,这种问题不会经常发生,但有时会发生。我得到的错误是:“NameError:未定义名称随机选择”。我不明白为什么。我试图将 randomchoice 作为全局变量,但没有成功。

我的代码中的这个“随机选择”有什么问题?

Car_Auswahl = FindACar(bins,Price_List,Car_for_select)

def FindACar(bins,Price_List,Car_for_select):
    # global randomchoice
    choice_idx = [] #Initialisierung der Auswahl des Autos
    shape,scale = 4.2531, 7896.8 
    coeff = 1.1299564124727026  # = Car['Preis'].mean()/((ReadPreisList['avg']*ReadPreisList['Anzahl']).sum()/ReadPreisList['Anzahl'].sum())
    sample = np.random.gamma(shape, scale)*coeff 
    while sample < min(Price_List) :
        sample = np.random.gamma(shape, scale)*coeff    
    bin_idx = np.digitize(sample,bins) 
    if  0 < bin_idx < len(bins):
        for index, row in Car_for_select.iterrows():
            if bins[bin_idx-1] < row.Preis <= bins[bin_idx]:
                choice_idx.append(index) 
            else:
                pass
        if len(choice_idx) != 0:
            randomchoice = np.random.choice(choice_idx) 
    else:
        target = min(Price_List, key=lambda x:abs(x-sample)) 
        randomchoice = Price_List.index(target)
    return randomchoice

标签: pythonnameerror

解决方案


推荐阅读