我该怎么做才能摆脱主函数 def 模型中的“int”对象不可下标错误:

今年夏天我正在做我的 GCSE,并且对为什么不接受这行代码感到困惑。
任何帮助都会有所帮助。

错误来自行 print('First gen \nJuveniles in gen 1',new_gens[0][0],'\nAdults in gen 1',new_gens[0][1],'\nSeniles in gen 1',new_gens[0][2])

我正在尝试制作第一代绿蝇,但是我什至很难将它们打印出来,而且 python 说整数不可下标。

def Menu():
    again = True
    while again == True:
        print('\n------------------GreenFly Model------------------\n\n')
        print('MENU\n')

        print('Option 1\t Set the Generation 0 values')
        print('Option 2\t Display the Generation 0 values')
        print('Option 3\t Run the model')
        print('Option 4\t Quit')
        print('Select an option from above')
        choice = str(input('What is your option?'))
        if choice == '1':
            Generation_0()
        elif choice == '2':
            Display_Generation_0()
        elif choice == '3':
            model()
        elif choice == '4':    
            quit_model()
            again = False
        else:
            print('invalid option, Try again') 

def Generation_0():
    global gen0
    Juveniles = int(input('How many Juveniles? '))
    Adults = int(input('How many Adults? '))
    Seniles = int(input('How many Sentiles? '))
    BR = int(input('What is your birthrate? ')) 
    J_Survrate = int(input('Juvenile survival rate between 0&1'))
    A_Survrate = int(input('Adult survival rate between 0&1'))
    S_Survrate = int(input('Senile survival rate between 0&1'))
    num_gen=int(input('Birth rate between 5 and 25'))
    gen0 = [[Juveniles,Adults,Seniles], #stores all the information in a 2d array
            [BR],
            [J_Survrate,A_Survrate,S_Survrate],
            [num_gen]]
    gens.append(gen0)
    print(gen0)
    Menu()


def Display_Generation_0(): #lists out the 2d array
    print('Generation 0\nJuvenile numbers are ',gen0[0][0], "\nAdult numbers are ",gen0[0][1],'\nSenile numbers are ',gen0[0][2],'\nBirth rate is ',gen0[1][0],'\nJunior survival rate is ',gen0[2][0], '\nAdult survival rate is ',gen0[2][1], '\nSenile survival rate is ',gen0[2][2], '\nNumber of generations is ',gen0[3][0],)    


def model():
    new_gens = [(gen0[0][1]*gen0[1][0]),(gen0[0][0]*gen0[2][0]),((gen0[0][1]*gen0[2][1])+(gen0[0][2]*gen0[2][2]))]
    print('First gen \nJuveniles in gen 1',new_gens[0][0],'\nAdults in gen 1',new_gens[0][1],'\nSeniles in gen 1',new_gens[0][2])

#Main
gens=[]
Menu()
乐汗9

new_gens 是一个一维数组,你正在索引它,就好像它是一个二维数组。您正在尝试索引一个无效的数字。为了清楚起见,new_gens 实际上是这样的:

new_gens = [122, 35, 88]

什么new_gens[0][0]要说的是获得第1个要素的new_gens数组中,然后拿到第1个要素的一切在那桶。您可以看到 122 只是一个数字,而不是另一个列表。

你可以通过简单的索引来获得你想要的索引:

    JUVENILES_INDEX, ADULTS_INDEX, SENILES_INDEX = 0, 1, 2

    print('First gen \nJuveniles in gen 1',new_gens[JUVENILES_INDEX],'\nAdults in gen 1',new_gens[ADULTS_INDEX],'\nSeniles in gen 1',new_gens[SENILES_INDEX])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python函数中的类型错误(int对象不可下标)

我该怎么做才能纠正“过滤器()”中的错误,然后“找不到对象”?

我该怎么做才能改善Keras CNN VGG16模型

Python TicTacToe 错误:类型错误:“函数”对象不可下标

我该怎么做才能消除此Reflex.Dom代码中的unsafePerformIO?

我该怎么做才能减少Eclipse中的APK大小?

我该怎么做才能不重复xaml中的代码?

我该怎么做才能让 MD 文件在 Notepad++ 中更明显?

我该怎么做才能匹配“安装在”列中的值“ /”?

我正在获取'int'对象不可下标

我无法解决TypeError:“ int”对象不可下标

错误:没有匹配的函数可以调用“ sort”。我该怎么做才能使所有编译器满意?

“类型”对象在函数定义中不可下标

函数签名中的“ TypeError:'类型'对象不可下标”

TypeError: 'NoneType' 对象在函数中不可下标

误删除了/ usr / include。我该怎么做才能重新安装该目录中的文件?

函数def中的对与错

我正在尝试在(for 循环)中运行字符串。我该怎么做才能解决它?

脚本的输出何时会附加到文件中,我该怎么做才能规避结果?

Python TypeError:“函数”对象不可下标

类型错误函数不可下标

def函数产生错误的输出

在BigQuery中,我希望获得与pl / sql中的listagg函数相同的结果。我该怎么做。

我可以在 R 中为此做一个循环/函数吗?(我该怎么做?)

当我添加 3rd 方依赖项时,我无法解决 android studio 中的错误,我该怎么做才能解决这个问题?

Python中的“TypeError:___对象不可下标”,我该如何解决?

我该怎么做才能让这个函数输出?

他们向我显示错误“built in_function_or_method”对象不可下标”

在Linux Mint中的登录屏幕后,我的笔记本电脑显示无法正常工作。我该怎么做才能找回它?