所以我希望用户输入一个数字
input = raw_input ("What is your number")
然后这个数字可以说5完成了以下操作
result = input + 3 then * 2 then - 4 then - (2 * input) then + 3
因此,以我的5为例,以下将是数学链
5 : 8 : 16 : 12 : 2 : 5
最后是
的打印声明print "Your answer is: " + result
我在mac上使用nano作为文本编辑器在终端中执行此操作,我尝试了多种方法,例如稍后将每个数字分配给变量然后仅使用字母,当然只是插入的明显方式数字,但我总是得到一个错误。
以下是我尝试过的代码部分之一
#!usr/bin/env
a = 6
b = 3
c = 2
d = 4
sum = ((((a + b) * c) - d)( - ( c * a )) + b)
print sum
然后将文件保存为.py文件和整个chmod + x filename.py然后python filename.py并始终出错,对于上面的示例我得到
TypeError: 'int' object is not callable
答案 0 :(得分:3)
让我们分解这个异常:TypeError:'int'对象不可调用 'callable'表示你试图在不支持它的对象(一个不是函数的对象)上调用一个函数(或调用一个方法)。在这种情况下,它表示'int'。
你可能知道你的代码中的等式从左到右解析,所以左括号括号:(((((a + b)* c) - d)产生一个整数(14),右边的集合也是产生一个int。 正如我之前提到的那样,问题是你忘记了运算符(*)而不是这个:14 *( - 9),结果是这样的:14(-9),这是正确的语法,如果您正尝试使用参数-9。
调用名为14的函数答案 1 :(得分:1)
sum = ((((a + b) * c) - d)( - ( c * a )) + b)
^ You need an operation to occur here before the parenthesis
你错过了等式中的算术符号。
现在,它正在尝试使用你方程式中第一个名称来调用一个函数。