计算器代码问题:10 + 5结果105

时间:2015-03-21 11:57:14

标签: python python-3.x

我是这个论坛的新手,是c ++之后的新手。

我的python计算器有问题。当我运行它时,我使用+执行此操作,例如:10 + 5提供105,但我想获得15

其他操作甚至不起作用(我收到错误)。

print("\nCalculator In Python")
print("\nChose The Operation :")
print("\na)+\n\nb)-\n\nc)/\n\nd)*")
answer = input("\n\n: ")
result = int

if answer == 'a':
    a = input("\n\nFirst Number : ")
    b = input("\n\nSecond Number : ")
    print(a, "+", b, "=", a+b)
elif answer == 'b':
    a = input("\n\nFirst Number : ")
    b = input("\n\nSecond Number : ")
    print(a, "-", b, "=", a-b)
elif answer == 'c':
    a = input("\n\nFirst Number : ")
    b = input("\n\nSecond Number : ")
    print(a, "/", b, "=", a/b)
elif answer == 'd':
    a = input("\n\nFirst Number : ")
    b = input("\n\nSecond Number : ")
    print(a, "*", b, "=", a*a)

3 个答案:

答案 0 :(得分:3)

a+b实际上是'10'+'5',即'105'。发生这种情况是因为 input()给出一个字符串。所以你需要先将它转换为数字。

float(input())

此外,为了确保用户只提供有效的号码,您可以使用:

while True:
    a = input('\nGive a:')

    try:
        a = float(a)
        break
    except ValueError:
        print('Try again.')

答案 1 :(得分:0)

'input'函数返回一个包含“10”和“5”的字符串。在两个字符串上连接一个+运算符(即“10”+“5”=“105”)。

如果您将输入转换为浮点数或整数,您将获得您正在寻找的结果:

>>> a = "5" + "5"
>>> a
'55'
>>> 
>>> b = float("5") + float("5")
>>> b
10.0

答案 2 :(得分:0)

Python将您的输入设置为字符串。 你可以用"类型(a)"来检查这个。功能

您需要将输入转换为浮点数或整数。

integer = int(a)
FloatingPoint = float(a)