我编写了这样的代码来查找用户输入的数字的算术平均值,但由于某种原因,程序最终无法将字符串转换为浮点数。我应该改变什么?
print("I'm going to find the arithmetical mean! \n")
jnr = 0; sum = 0
negative = "-"
while True:
x = input(f"Type in {jnr}. nr. (To end press Enter): ")
if negative not in x:
jnr += 1
elif negative in x:
pass
elif x == "": break
sum = sum + float(x)
print("Aritmethmetical mean for these numbers is: "+str(round(sum/(jnr-1), 2)))
我得到了他的错误:
追溯(最近一次通话最后一次):文件“C:\Users\siims\Desktop\Koolitööd\individuaalne proge.py”,第 11 行,总和 = 总和 + 浮点数(x)ValueError:无法将字符串转换为浮点数
原文由 Siim Salmi 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如我在评论中所说,错误来自于当用户使用 --- 时调用
float(x)
Enter
导致错误。在不更改所有内容的情况下修复代码的最简单方法是首先检查输入是否为""
。这样您就不会尝试将空字符串转换为浮点数。