为什么我不能得到我的" +"做实际的添加?

时间:2016-06-16 22:20:29

标签: python-3.5

我使用notepad ++进行python 3.5的自学教学大约需要4个小时,并且遇到了障碍。主要的问题是,我被困在哪里是如此简单,我无法找到一种方法来解决谷歌!我正在尝试使计算器工作,并将显示我用过的代码。但首先......

def add(x, y):
 return x * y
myValue=add(3,3)
print (myValue)

这会返回正确的结果。这个案例是6。当我尝试在更大的计算器字符串中使用它时,结果将是33。它不会添加它们,它只是并排打印数字。

完整代码:

 #definitions
def add(x, y):
  return (x + y)
def subtract(x, y):
  return x - y
def multiply(x, y):
  return x * y
def divide(x, y):
  return x / y


#A calculator that does +,-,*,/
def main():
  operation = input('What may I calculate? (+,-,*,/)')
  if (operation != '+' and operation != '-' and operation != '*' and operation != '/'):
      #invalid operation text
      print('Please try again. Select + for addition, - for subtraction, * for multiplication, / for division')

  else:
      x=input('Enter Number 1:')
      y=input('Enter Number 2:')
      if(operation=='+'):
        print (add(x, y))


main()

1 个答案:

答案 0 :(得分:2)

问题是你将字符串传递给函数而不是ints / floats。结果是它连接了字符串。您需要将字符串中的输入转换为float(除非您对int感到满意)

else:
    x = float(input('Enter Number 1:'))
    y = float(input('Enter Number 2:'))