python - 使用 Python 3.2 将字符串转换为 float

标签 python

此程序的目的是显示基于使用的输入的总和、平均值、最大值和最小值。

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/

相关文章:

Python:self.__class__ vs. type(self)

python - Scraping RSS 抓取系统

python - 在 python 中使用 ctypes 调用的函数的正确回调签名是什么?

python - 连接到 amazon rds 上的 mysql 数据库

python - 从 for 循环内部进行递归时出现意外缩进

Python:使用递归实现 split()

python - Java 网关进程在向驱动程序发送其端口号之前退出

java - 使用 Jpype 将 numpy 数组传递给 Java

python - django 从帖子中删除对象( Bootstrap )

python - SpaCy - ValueError : operands could not be broadcast together with shapes (1, 2) (1,5)