我是这个论坛的新手,是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)
答案 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)