2017-02-17 56 views
0

我的程序应该从用户处获得输入并提供平均值。如果输入的数字小于0,它应该结束。我的程序停留在要求用户输入数字而不是计算平均值的循环中。用户使用while提供的计算平均值,如果

a=-1 
    s=0 
    c=0 
    I=input('Please enter a number') 
    I=float(I) 
    while I >= 0: 
     s += I 
     c +=1 
     I=input('Please enter a number') 
     I=float(I) 
    if c>0: 
     a= s/c 
     print(a) 
    else: 
     print("No input, cannon compute the average") 
+1

你只要求输入一次。如果你想继续接受输入,你需要在循环中再次询问。 –

+0

@jeffcarey我在循环中的输入中添加了一个输入,并且在a = s/c下输出了一个打印(a)。然而,现在,我陷入了“请输入一个数字”循环中。 –

+0

迈克的答案下面的内容完全符合您的任务要求。也许你应该再读一遍! –

回答

0

做到这一点

a=-1 
s=0 
c=0 
I=input('Please enter a number') 
I=float(I) 
while I >= 0: 
    s += I 
    c +=1 
    I=input('Please enter a number') 
    I=float(I) 
if c>0: 
    a= s/c 
    print(a) 
else: 
    print("No input, cannon compute the average") 
+0

如果我这样做了,它在一个永无止境的循环中,从不计算平均值 –

+0

这是正确的 –

0
theSum = 0 
counter = 0 
numberEntered = float(input('Please enter a number: ')) 
while(numberEntered >= 0): 
    theSum += numberEntered 
    counter += 1 
    numberEntered = float(input('Please enter a number: ')) 
if counter > 0: 
    print(theSum/counter) 
else: 
    print("No input, cannot compute the average.")