Python 编码计算器
Python coding calculator
我创建这段代码是为了构建一个计算器,它会根据用户输入自动调用正确的算术函数。
我写了一个示例函数。我在底部写了补充作为评论。
当我运行代码时,在for循环中它应该将用户的输入匹配到列表中进行添加,以确认要使用的算术函数,在这种情况下,它不起作用。
此外,无论您输入什么,都会打印“无效算术函数”。
我是 python 的新手,仍在学习中。任何指导表示赞赏。
from Calculator import addition
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
if type(problem) == str:
for i in additions:
if problem == i:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
break
else:
print("Invalid arithmetic functions")
print(answers)
#def addition(num, num0):
# answer = num + num0
# return answer
你的代码有问题
for i in additions:
if problem == i:
这里第一个 "addition"
不是 "+"
所以循环在第一次中断。
解决方案
而不是循环使用直接if
条件
if problem in additions:
检查此代码
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
def addition(num, num0):
answer = num + num0
return answer
if type(problem) == str:
if problem in additions:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
else:
print("Invalid arithmetic functions")
您可以大大简化您的代码,如下所示:
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
problem = input("Which arithmetic function do you want to perform? ")
if problem in additions:
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
print('Answer is:', num1 + num2)
else:
print("Invalid arithmetic function")
在调试您的程序时,我发现问题如下:
for i in additions:
if problem == i:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
break
for 循环将搜索添加列表并输出每个项目的结果。要停止这种情况,请删除打印功能并仅在计算完成后打印。
有多种方法可以重新实现“无效算术函数”错误消息。最简单的方法之一是将代码块放入函数中,然后 return 值。
这是工作版本:
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
def addition(num, num0):
answer = num + num0
return answer
def calculateAnswer():
if type(problem) == str:
for i in additions:
if problem == i:
answers = addition(num1, num2)
return answers
#If an answer is not returned, the code below will execute
return "Invalid arithmetic function"
print(calculateAnswer());
问题是您在 for 循环中添加了 else。等待循环结束,因为列表中的最后一项可能与问题字符串匹配。
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = None
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
if type(problem) == str:
for i in additions:
if problem == i:
answers = num1+ num2
print(answers)
if(answers == None):
print("Invalid arithmetic functions")
else:
print("Invalid arithmetic functions")
我创建这段代码是为了构建一个计算器,它会根据用户输入自动调用正确的算术函数。
我写了一个示例函数。我在底部写了补充作为评论。
当我运行代码时,在for循环中它应该将用户的输入匹配到列表中进行添加,以确认要使用的算术函数,在这种情况下,它不起作用。
此外,无论您输入什么,都会打印“无效算术函数”。
我是 python 的新手,仍在学习中。任何指导表示赞赏。
from Calculator import addition
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
if type(problem) == str:
for i in additions:
if problem == i:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
break
else:
print("Invalid arithmetic functions")
print(answers)
#def addition(num, num0):
# answer = num + num0
# return answer
你的代码有问题
for i in additions:
if problem == i:
这里第一个 "addition"
不是 "+"
所以循环在第一次中断。
解决方案
而不是循环使用直接if
条件
if problem in additions:
检查此代码
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
def addition(num, num0):
answer = num + num0
return answer
if type(problem) == str:
if problem in additions:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
else:
print("Invalid arithmetic functions")
您可以大大简化您的代码,如下所示:
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
problem = input("Which arithmetic function do you want to perform? ")
if problem in additions:
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
print('Answer is:', num1 + num2)
else:
print("Invalid arithmetic function")
在调试您的程序时,我发现问题如下:
for i in additions:
if problem == i:
answers = addition(num1, num2)
print(answers)
else:
print("Invalid arithmetic function")
break
for 循环将搜索添加列表并输出每个项目的结果。要停止这种情况,请删除打印功能并仅在计算完成后打印。
有多种方法可以重新实现“无效算术函数”错误消息。最简单的方法之一是将代码块放入函数中,然后 return 值。
这是工作版本:
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = 0
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
def addition(num, num0):
answer = num + num0
return answer
def calculateAnswer():
if type(problem) == str:
for i in additions:
if problem == i:
answers = addition(num1, num2)
return answers
#If an answer is not returned, the code below will execute
return "Invalid arithmetic function"
print(calculateAnswer());
问题是您在 for 循环中添加了 else。等待循环结束,因为列表中的最后一项可能与问题字符串匹配。
divisions = ["division", "divide", "/"]
multiplications = ["multiplication", "multiply", "*", "x", "X"]
additions = ["addition", "add", "+"]
subtractions = ["subtraction", "subtract", "-"]
answers = None
problem = input("Which arithmetic function do you want to perform? ")
num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
if type(problem) == str:
for i in additions:
if problem == i:
answers = num1+ num2
print(answers)
if(answers == None):
print("Invalid arithmetic functions")
else:
print("Invalid arithmetic functions")