我是Python的新手,我正在尝试编写计算器。问题是我无法找到让变量num1
和num2
执行我为其列出的操作的方法。他们所做的只是连接两个数字而不是执行操作,任何建议?感谢。
letter = ()
class Calc():
print raw_input("What operation do you want to do?\n\tA) Addition\n\tB) Subtraction\n\ ")
num1 = raw_input("Please enter your first number: ")
num2 = raw_input("Please enter your second number: ")
if letter == 'A' or 'a':
print "The sum of", num1, "plus", num2, "equals"
print num1 + num2
elif letter == 'B' or 'b':
print "The difference of", num1, "minus", num2, "equals"
print num1 - num2
答案 0 :(得分:4)
raw_input
返回一个字符串,因此您的两个输入会连接在一起。在将数字运算符用于数字之前,您需要将该输入转换为数字。
num1 = int(raw_input("Please enter your first number: "))
您还需要更改
if letter == 'A' or 'a':
到
if letter == 'A' or letter == 'a':
答案 1 :(得分:2)
您正在使用 的raw_input() 它将输入转换为字符串。
如果您想将它们添加到一起,您可以使用 num1 = float(num1)
之后加入。
答案 2 :(得分:0)
这是因为你正在进行字符串操作。 raw_input
会返回string
,因此您必须使用int
或float
手动将其转换为float()
或int()
。
这样做:
print int(num1) + int(num2)
为了以加法形式打印数字。
答案 3 :(得分:-1)
我认为这会做你所要求的:
letter = raw_input("What operation do you want to do?\n\tA)
Addition\n\tB)Subtraction\n")
num1 = input("Please enter your first number: ")
num2 = input("Please enter your second number: ")
if letter == 'A' or 'a':
print "The sum of", num1, "plus", num2, "equals"
print num1 + num2
elif letter == 'B' or 'b':
print "The difference of", num1, "minus", num2, "equals"
print num1 - num2