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

2024-04-26 06:43:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我是这个论坛的新手,也是c++之后的python新手。你知道吗

我对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)

Tags: theanswerinnumberinput错误论坛计算器
3条回答

Python正在将您的输入设置为字符串。 您可以用“type(a)”函数检查这一点。你知道吗

您需要将输入转换为浮点或整数。你知道吗

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

“input”函数返回一个包含“10”和“5”的字符串。对两个字符串执行+运算符将它们连接起来(即“10”+“5”=“105”)。你知道吗

如果将输入转换为浮点或整数,则会得到所需的结果:

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

a+b实际上是'10'+'5',也就是'105'。这是因为 input()给出一个字符串。所以你需要先把它转换成一个数字。你知道吗

float(input())

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

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

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

相关问题 更多 >