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)