Python 类型错误:Int对象不可调用
当我尝试运行代码时,代码出现错误 代码Python 类型错误:Int对象不可调用,python,python-3.x,Python,Python 3.x,当我尝试运行代码时,代码出现错误 代码 print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division") print("^ Operation 'ID' please enter the id of your choice") choice = input() num1 = input("Enter your first number: ") num2 = input("Enter your
print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division")
print("^ Operation 'ID' please enter the id of your choice")
choice = input()
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
def addition(num1, num2):
num1
num2
ans = num1 + num2
print('Your answer is %s') %(ans)
def subtraction(num1, num2):
num1
num2
ans = num1 - num2
print('Your answer is %s') %(ans)
def multiply(num1, num2):
num1
num2
ans = num1 * num2
print('Your answer is %s') %(ans)
def division(num1, num2):
num1
num2
ans = num1 / num2
print('Your answer is %s') %(ans)
if choice == "1":
addition
elif choice == "2":
subtraction
elif choice == "3":
multiply
elif choice == "4":
division
else:
print("Invalid Input")
choice = int(input("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division\n^ Operation 'ID' please enter the id of your choice\n"))
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
if choice == 1: #Addition
num1
num2
ans = num1 + num2
print("Your answer is " + str(ans))
elif choice == 2: #Subtraction
num1
num2
ans = num1 - num2
print("Your answer is " + str(ans))
elif choice == 3: #Miltiplication
num1
num2
ans = num1 * num2
print("Your answer is " + str(ans))
elif choice == 4: #Division
num1
num2
ans = float(num1) / float(num2)
print("Your answer is " + str(ans))
在调用python打印答案之前,一切都正常
我知道可能存在重复的代码,但是那里提供的代码都不起作用。问题就是由于这个原因
if choice == 1():
应该在哪里
if choice == 1:
必须将num1和num2转换为整数类型
你应该调用函数,而不是声明它们
if choice == 1:
addition(num1, num2)
你必须为其他事情做这件事
在做了所有的修改之后,你的程序看起来是这样的
print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division")
print("^ Operation 'ID' please enter the id of your choice")
choice = int(input())
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
def addition(num1, num2):
ans = num1 + num2
print('Your answer is %s') %(ans)
def subtraction(num1, num2):
ans = num1 - num2
print('Your answer is %s') %(ans)
def multiply(num1, num2):
ans = num1 * num2
print('Your answer is %s') %(ans)
def division(num1, num2):
ans = num1 / num2
print('Your answer is %s') %(ans)
if choice == 1:
addition(num1,num2)
elif choice == 2:
subtraction(num1,num2)
elif choice == 3:
multiply(num1,num2)
elif choice == 4:
division(num1,num2)
else:
print("Invalid Input")
print('Your answer is %s' %ans)
我的更改是:
choice = int(input("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division\n^ Operation 'ID' please enter the id of your choice\n"))
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
ans=None
if choice == 1:
ans = num1 + num2
elif choice == 2:
ans = num1 - num2
elif choice == 3:
ans = num1 * num2
elif choice == 4:
ans = float(num1) / num2
if ans:
print('Your answer is %s') %(ans)
else:
print("Invalid Input")
问题就在眼前-
if choice == 1():
addition
elif choice == 2():
subtraction
elif choice == 3():
multiply
elif choice == 4():
division
我不知道你想要1()。您还应该调用函数addition
等,比如-addition(num1,num2)
而选项
是字符串
不是int。您应该将num1
和num2
转换为int
代码中的更多问题-
为什么要在函数中执行-num1
和num2
,它没有任何作用,可以删除每个函数的前两行
您的print函数错误,在Python 3.x中,%(ans)
应该在函数内部,而不是外部
代码-
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
def addition(num1, num2):
ans = num1 + num2
print('Your answer is %s' %(ans))
def subtraction(num1, num2):
ans = num1 - num2
print('Your answer is %s' %(ans))
def multiply(num1, num2):
ans = num1 * num2
print('Your answer is %s' %(ans))
def division(num1, num2):
ans = num1 / num2
print('Your answer is %s' %(ans))
if choice == '1':
addition(num1, num2)
elif choice == '2':
subtraction(num1, num2)
elif choice == '3':
multiply(num1, num2)
elif choice == '4':
division(num1, num2)
当前代码中的错误只是打印语句中的括号。如果在print语句之外没有%ans,则代码在如下情况下工作
print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division")
print("^ Operation 'ID' please enter the id of your choice")
choice = int(input())
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
def addition(num1, num2):
ans = num1 + num2
print('Your answer is %s') %(ans)
def subtraction(num1, num2):
ans = num1 - num2
print('Your answer is %s') %(ans)
def multiply(num1, num2):
ans = num1 * num2
print('Your answer is %s') %(ans)
def division(num1, num2):
ans = num1 / num2
print('Your answer is %s') %(ans)
if choice == 1:
addition(num1,num2)
elif choice == 2:
subtraction(num1,num2)
elif choice == 3:
multiply(num1,num2)
elif choice == 4:
division(num1,num2)
else:
print("Invalid Input")
print('Your answer is %s' %ans)
您刚刚编写的同一代码的整洁版本如下所示
print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division")
print("^ Operation 'ID' please enter the id of your choice")
choice = int(input())
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
def addition(num1, num2):
ans = num1 + num2
print('Your answer is %s') %(ans)
def subtraction(num1, num2):
ans = num1 - num2
print('Your answer is %s') %(ans)
def multiply(num1, num2):
ans = num1 * num2
print('Your answer is %s') %(ans)
def division(num1, num2):
ans = num1 / num2
print('Your answer is %s') %(ans)
if choice == 1:
addition(num1,num2)
elif choice == 2:
subtraction(num1,num2)
elif choice == 3:
multiply(num1,num2)
elif choice == 4:
division(num1,num2)
else:
print("Invalid Input")
print('Your answer is %s' %ans)
print(“操作:\n1.加法\n2.减法\n3:乘法\n4.除法”)
打印(“^Operation'ID'请输入您选择的ID”)
choice=int(输入())
num1=int(输入(“输入您的第一个数字:”)
num2=int(输入(“输入第二个数字:”)
def添加量(num1、num2):
返回num1+num2
def减法(num1,num2):
返回num1-num2
def倍增(num1,num2):
返回num1*num2
def部门(num1、num2):
返回num1/num2
如果选项==1:
ans=加法(num1,num2)
elif选项==2:
ans=减法(num1,num2)
elif选项==3:
ans=乘法(num1,num2)
elif选项==4:
ans=除法(num1,num2)
其他:
打印(“无效输入”)
如果在范围(4)中选择:
打印('您的答案是%s'%1!')
具有讽刺意味的是,尽管hid代码有点不合适,但我还是在@Vignesh Kalai的帮助下为自己的问题写了一个答案。因此,在做任何其他事情之前,我将解决对代码的更改
首先,与其定义我链接的每个操作,不如定义它们的“ID”
其次,我使用“+str(x)”打印答案,而不是使用%s这个公认的坏主意
修订代码
print("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division")
print("^ Operation 'ID' please enter the id of your choice")
choice = input()
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
def addition(num1, num2):
num1
num2
ans = num1 + num2
print('Your answer is %s') %(ans)
def subtraction(num1, num2):
num1
num2
ans = num1 - num2
print('Your answer is %s') %(ans)
def multiply(num1, num2):
num1
num2
ans = num1 * num2
print('Your answer is %s') %(ans)
def division(num1, num2):
num1
num2
ans = num1 / num2
print('Your answer is %s') %(ans)
if choice == "1":
addition
elif choice == "2":
subtraction
elif choice == "3":
multiply
elif choice == "4":
division
else:
print("Invalid Input")
choice = int(input("Operations: \n1. Addition \n2. Subtraction \n3: Multiplication \n4. Division\n^ Operation 'ID' please enter the id of your choice\n"))
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
if choice == 1: #Addition
num1
num2
ans = num1 + num2
print("Your answer is " + str(ans))
elif choice == 2: #Subtraction
num1
num2
ans = num1 - num2
print("Your answer is " + str(ans))
elif choice == 3: #Miltiplication
num1
num2
ans = num1 * num2
print("Your answer is " + str(ans))
elif choice == 4: #Division
num1
num2
ans = float(num1) / float(num2)
print("Your answer is " + str(ans))
我也知道编写计算器应用程序的其他方法,但我正计划扩展其功能,因此我需要在三星chromebook sir 3上使用xfce 14.04的“def”,如果有必要的话。if choice==“1”:
trythis@vks+1谢谢你,但现在我有另一个问题,它提示我输入无效,而不是告诉我答案。你的代码有很多问题。我建议你去。不,对不起,但事实并非如此help@VingeshKalal,我已经得到了最接近的答案,但它只是提示无效的输入,答案应该在哪里。@AtPython,它说的是什么输入that@VingeshKalai这不是meI我不是在问你我是在问谁说了这段代码提示我列出了错误:不支持的操作数类型和多个语法错误除法和减法的定义?虽然我看不出有任何错误syntax@AtPython是的,您的代码中似乎有更多问题,请查看最新更新。