创建一个循环并计算最后的平均值

时间:2018-02-21 05:28:39

标签: python python-3.x

我的作业如下

  

编写一个程序,重复要求用户输入一个浮点数或整数,直到输入值-88。然后,程序应输出两位小数输入的数字的平均值。请注意,-88不应计算在内,因为它是为终止循环而输入的值

我已经让程序反复询问一个数字并用-99终止循环但是我很难让它接受整数(1.1等)并计算输入数字的平均值。

3 个答案:

答案 0 :(得分:0)

问题实际上非常简单,我发布了我的解决方案。但是,请向我们展示您的工作,以便我们能够更好地帮助您。通常,对于初学者,您可以使用Python内置数据类型和函数来执行任务。你可能应该更多地了解python中的list

def ave_all_num():
    conti = True
    total = []
    while conti:
        n = input('Input value\n')
        try:
            n = float(n)
        except:
            raise ValueError('Enter values {} is not integer or float'.format(n))
        if n == -88:
            break
        total.append(n)
    return round(sum(total)/len(total),2)

rslt = ave_all_num()

答案 1 :(得分:0)

在此处输入代码感谢您提示回复。道歉。这是我正在处理的代码:

`#Assignment2,Question 3

for(let type = 0; type <= currencyType.length; type++) 
{
    let prefix = currencyType[type].innerHTML ;
    let node = document.getElementById( prefix +"USDVAL").textContent * document.getElementById( prefix +"USDAMT").value;
    let total = node.toFixed(2);
    console.log(total)
    document.getElementById( prefix + "USDTOTAL").innerHTML = total;
}

答案 2 :(得分:0)

尝试以下python代码。 =)

flag = True

lst=[]
while(flag):
    num = float(raw_input("Enter a number. "))
    lst+=[num]
    if(num==-88.0): flag = False     

print "Average of numbers: ", round( (sum(lst[:-1])/len(lst[:-1])) , 2)