data = []
dig = float(input("введи число(пустая строка для окончания ввода): "))
while dig != "":
data.append(dig)
dig = float(input("введи число(пустая строка для окончания ввода): "))
print(data)
average_value = sum(data) / len(data)
print(average_value)
错误
ValueError:无法将字符串转换为浮点数
当该行为空(按 Enter 键)时程序终止 - 它无法转换为浮点类型。因此,需要单独检查字符串(是否为空),然后才将其转换为浮点数。
如果字符串为空,在布尔表达式中它将被解释为 False,这将打破 while 循环。 Python 3.8 引入了海象运算符
:=,它允许您为变量赋值并同时在表达式中使用该值。综合起来,我们得到了一个更短的代码: