-2

我的最后一个问题是将平均值浮动到小数点后 1 位,例如。平均 34.1

这是我当前的代码:

total = 0.0
count = 0
data = float(input("Enter a number or enter to quit: "))
while data != "":
    count += 1
    number = float(data)
    total += number
    data = float(input("Enter a number or enter to quit: "))
    try:
        data = int(data)
    except ValueError:
        pass
    average = round(total) / count
    if data == 999:
        break
    elif data >= 100:
        print("error in value")
    elif data <= 0:
        print("error in value")   


print("These", count, "scores average as: ", round(average, 1))
4

1 回答 1

1

input()返回一个字符串,而不是整数。要将其转换为整数,请使用int()

data = int(input("Enter a number or enter to quit: "))

在 python 3 中,您不能将字符串与整数进行比较,因此会出现错误。在 python 2 中你实际上可以。

如果您还想检查用户是否输入了空字符串,您可以执行以下操作:

data = input("Enter a number or enter to quit: ")
try:
    data = int(data)
except ValueError:
    pass
于 2013-09-29T02:16:33.540 回答