' INT' object不可调用错误

时间:2016-03-05 09:21:27

标签: python int callable

您好我目前正在为我目前的python作业做一个麻烦。我正在制作一个卡路里计数器,并跟随我为他们制作和提供的导师视频。我已经为本课完成了所有代码,但我仍然收到了之前从未收到过的错误代码。我一直收到的错误是

[code] File "E:\CC PART LESSON 811.py", line 129, in <module>
    tot_cals, item_cnt = add_process(tot_cals, item_cnt)
  File "E:\CC PART LESSON 811.py", line 93, in add_process
    cals = calc_cals("c", g_carbs) + calc_cals("f", g_fats) + calc_cals("p", g_prot)
TypeError: 'int' object is not callable [code]

我的代码允许用户选择是否要将食物添加到他们的列表中或结束程序,当他们添加内容时,我的代码使用一个函数将该项添加到他们的列表中,因此提示他们输入所述物品的碳水化合物脂肪和蛋白质。当我完成输入输入后,我的程序崩溃了,它给了我上面的错误。我试过谷歌搜索这个错误,只能找到与特定代码有关的解决方案。我做错了什么,我该怎么办呢?我多次查看我的整个程序并将其与我的教师视频进行比较,但似乎无法找到我做错的事情!万分感谢!

它的功能和代码是:

while True:
    choice = disp_menu()
    if choice == "a":
        tot_cals, item_cnt = add_process(tot_cals, item_cnt)

def add_process(tot_cals, item_cnt):
    item_name = input_name()
    g_carbs = input_grams("carbs")
    g_fats = input_grams("fats")
    g_prot = input_grams("protein")


    cals = calc_cals("c", g_carbs) + calc_cals("f", g_fats) + calc_cals("p", g_prot)

我的变量如下:

tot_cals = 0
item_list = 0
item_cnt = 0
calc_cals = 0

抱歉格式错误;我还在学习如何编码和使用编码论坛。非常感谢你们!而且,这是否足够我的代码?我认为错误来自这两个部分,但我不是100%。谢谢!

1 个答案:

答案 0 :(得分:2)

您收到该错误的原因是因为您将calc_cals用作变量和函数:

您的调用堆栈显示对calc_cals

的函数调用
File "E:\CC PART LESSON 811.py", line 93, in add_process
     cals = calc_cals("c", g_carbs) + calc_cals("f", g_fats) + calc_cals("p", g_prot)

虽然您声明您的变量包括:

calc_cals = 0