Python计算器连接而不是执行操作

时间:2013-11-21 23:17:47

标签: python class calculator

我是Python的新手,我正在尝试编写计算器。问题是我无法找到让变量num1num2执行我为其列出的操作的方法。他们所做的只是连接两个数字而不是执行操作,任何建议?感谢。

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

4 个答案:

答案 0 :(得分:4)

raw_input返回一个字符串,因此您的两个输入会连接在一起。在将数字运算符用于数字之前,您需要将该输入转换为数字。

num1 = int(raw_input("Please enter your first number: "))

您可以使用floatint将输入字符串转换为数字。

您还需要更改

if letter == 'A' or 'a':

if letter == 'A' or letter == 'a':

答案 1 :(得分:2)

您正在使用 的raw_input() 它将输入转换为字符串。

如果您想将它们添加到一起,您可以使用 num1 = float(num1)

之后加入。

答案 2 :(得分:0)

这是因为你正在进行字符串操作。 raw_input会返回string,因此您必须使用intfloat手动将其转换为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