【问题标题】:In Python, how to get the sum and average while in a loop在 Python 中,如何在循环中获取总和和平均值
【发布时间】:2014-04-20 19:58:00
【问题描述】:

我已经设法实现了一个循环,但是当我尝试sum 函数时,总是出现语法错误。我需要汇总用户输入的数字并给出平均值。这必须输出给用户。您能否指导我从这里去哪里,谢谢。

这是我到目前为止所做的:

while 1:
    NumCalc = input ("Enter Number :")
    if NumCalc == "done": break

【问题讨论】:

    标签: python loops python-3.x sum average


    【解决方案1】:

    如果您想在循环结束后计算总和和平均值,您可以这样做:

    nums = []
    while 1:
        NumCalc = input ("Enter Number:")
        if NumCalc == "done": break
        nums.append(float(NumCalc))
    
    print('Sum:', sum(nums), 'and average:', sum(nums)/len(nums))
    


    在循环中:
    s = 0.0
    counter = 0
    
    while 1:
        NumCalc = input("Enter Number: ")
        if NumCalc == "done":
            break
    
        NumCalc = float(NumCalc)
        s += NumCalc
        counter += 1
    
    
        print('Sum is', s, 'and the mean is', s/counter)
    

    输出:

    Enter Number: 5
    Sum is 5.0 and the mean is 5.0
    Enter Number: 2
    Sum is 7.0 and the mean is 3.5
    Enter Number: 4
    Sum is 11.0 and the mean is 3.66666666667
    Enter Number: 6
    Sum is 17.0 and the mean is 4.25
    Enter Number: 2
    Sum is 19.0 and the mean is 3.8
    

    【讨论】:

    • 感谢帮助,但它不起作用这是我收到任何想法的输出为什么?输入数字:5 总和是:输入数字:6 总和是:输入数字:完成 >>>跨度>
    • @user3417793 你的 Python 版本是多少?
    • 如果有帮助,这就是输出的样子.总和:24 平均:8.0
    • @user3417793 我的错。以为你在使用 Python2。已更新。
    • 无论如何感谢您的帮助
    【解决方案2】:
    i = 0
    sum = 0
    while 1:
        i += 1
        NumCalc = input ("Enter Number :")
        if NumCalc == "done": break
        sum = sum + NumCalc
        print "Average is ", sum/i
    

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多