Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 找出如何找到输入数字的平均值_Python - Fatal编程技术网

Python 找出如何找到输入数字的平均值

Python 找出如何找到输入数字的平均值,python,Python,这是我目前的代码: total = 0.0 count = 0 data = input("Enter a number or enter to quit: ") while data != "": count += 1 number = float(data) total += number data = input("Enter a number or enter to quit: ") average = total / count if d

这是我目前的代码:

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

print("These", count, "scores average as: ", average)
total=0.0
计数=0
数据=输入(“输入一个数字或输入退出:”)
而数据!="":
计数+=1
数字=浮动(数据)
总数+=个数
数据=输入(“输入一个数字或输入退出:”)
平均数=总数/计数
如果数据>100:
打印(“值错误”)
elif数据<0:
打印(“值错误”)
elif数据==“”:
打印(“这些”,计数,“分数平均值为:”,平均值)

现在唯一的问题是“预期缩进块”

要计算平均值,您需要跟踪元素的数量(while循环的迭代),然后在完成时将总和除以该数字:

total = 0.0
count = 0
data = input("Enter a number or enter 999 to quit: ")
while data != "999":
    count += 1
    number = float(data)
    total += number
    data = input("Enter a number or enter 999 to quit: ")
average = total / count
print("The average is", average)

请注意,我将
sum
重命名为
total
,因为sum是内置函数的名称。

我会做一些很酷的事情,比如

my_list = list(iter(lambda: int(input('Enter Number?')), 999)) # Thanks JonClements!!
print sum(my_list)
print sum(my_list)/float(len(my_list))
如果你想创造条件,像这样的方法就行了

def getNum():
   val = int(input("Enter Number"))
   assert 0 < val < 100 or val == 999, "Number Out Of Range!"
   return val

my_list = list(iter(getNum, 999)) # Thanks JonClements!!
print sum(my_list)
print sum(my_list)/float(len(my_list))
def getNum():
val=int(输入(“输入数字”))
断言0
为什么不干脆
my_list=list(iter(lambda:int(输入('Enter Number')),999))
并保存一个导入?:)所以,如果我想把一个错误,如果任何东西超过100,但不是999,你认为我应该尝试什么?现在改变它,这样就只有一个单一的数据迭代:Pim假设这是用户输入,而不是机器输入,这将需要大量的数字输入,使任何明显的difference@ErikAllik笑一笑吧:
total,n=map(sum,zip(*zip(iter(lambda:int(input('entnumber')),999),iter(lambda:1,None))
:)似乎您所要做的就是将最终打印()移动到块中以获得最终的elif。你所拥有的应该有用。
total = 0.0
count = 0
while True:
    data = input("Enter a number or enter 999 to quit: ")
    if data == "999":
        break
    count += 1
    total += float(data)
print(total / count)