Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算器代码问题:10+;5个结果为105_Python_Python 3.x - Fatal编程技术网

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

Python 计算器代码问题:10+;5个结果为105,python,python-3.x,Python,Python 3.x,我对python计算器有问题。当我运行它并使用+执行它时,例如:10+5给出105,但我想得到15 其他操作甚至不起作用(我得到一个错误) a+b实际上是'10'+'5',也就是'105'。这是因为 input()给出一个字符串。所以你需要先把它转换成一个数字 float(input()) 此外,为了确保用户只提供有效的数字,您可以使用: while True: a = input('\nGive a:') try: a = float(a)

我对python计算器有问题。当我运行它并使用
+
执行它时,例如:
10+5
给出
105
,但我想得到
15

其他操作甚至不起作用(我得到一个错误)


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

float(input())

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

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

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

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

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

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

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

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

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