我正在尝试编写一个非常简单的代码,我将向它提供两个数字(使用
输入
函数),它会根据这些数字给我一个结果。当数字为
只是
数字(例如,12或15)一切正常,但当一个数字不是一个加法(例如,6+6)时,我会得到一个错误,说“无法将字符串转换为float:‘6+6’”。
请参见以下可复制的示例:
def calc_sal(number1, number2):
return number1 * 4.5 + number2
number1 = float(input("Give number1 "))
number2 = float(input("Give number2 "))
print(calc_sal(number1, number2))
这就是错误:
Give number1 6 + 6
Traceback (most recent call last):
File "SalaryCalc.py", line 4, in <module>
number1 = float(input("Give number1 "))
ValueError: could not convert string to float: '6 + 6'
在我看来,我无法通过
输入
函数,相反,它认为这是一个字符串“6+6”。然而,当我在交互式会话中逐行运行相同的代码时,一切都正常(即,当输入为6+6时,输出为12,而不是“6+6”)。
那么,你知道为什么只有在我通过终端运行程序而不是以交互方式运行程序时才会发生这种情况吗?如何解决这个问题?
非常感谢。