此程序的目的是显示基于使用的输入的总和、平均值、最大值和最小值。
count=0.0
Sum=0.0
average=0.0
data=float(input("Enter a number or just ENTER to quit:"))
Min=data
Max=data
while data!="":
count+=1
number=float(data)
Sum+=number
average=Sum/count
if data<Min:
Min=data
if data>Max:
Max=data
data=float(input("Enter a number or just ENTER to quit:"))
print(count,("numbers entered."))
print("Sum:",Sum)
print("Average:",average)
print("Min:",Min)
print("Max:",Max)
问题出在第 20 行: data=float(input("输入一个数字或按回车键退出:"))
当我按 ENTER 结束循环时,它说它无法将字符串转换为 float 和错误。我做错了什么????
最佳答案
嗯,您不应该立即转换为 float
。此外,这不是您在 Python 中执行 do..while
循环的方式。
while True:
data = input('Enter a number or ENTER to quit: ')
if not data: break
data = float(data)
# ...
这样您就不必重复代码,也不必不必要地延长 data
名称的生命周期。
关于python - 使用 Python 3.2 将字符串转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653057/