【问题标题】:Python- Append the find to add in the averagePython-附加查找以添加平均值
【发布时间】:2018-11-02 08:29:31
【问题描述】:

我正在尝试生成 50 行介于 -20 和 20 之间的随机整数。将这些数字写入一个名为 random_numbers.txt 的文件并附加该文件以添加这 50 个数字的平均值。我能够生成 50 个数字,但找不到平均值。它应该是 0.28。感谢您的帮助! 这是我目前所拥有的:

import random
fileh= open("random_numbers.txt", "w")
for num in range(50):
  num= str(random.randint(-20,20))
  fileh.write(num+str("\n"))
fileh.close()

fileh= open("random_numbers.txt", "a")
s = fileh.readlines()
total=0
for line in s:
  num1=0
  num1+= float(line)
  total += num1
  average = total / 50
fileh.write("Average is:", average)
fileh.close()

【问题讨论】:

    标签: python-3.x average


    【解决方案1】:

    问题在于计算平均值的位置。

    for line in s:
      num1=0
      num1+= float(line)
      total += num1
      average = total / 50    #this is inside a loop so you are writting it every time
    fileh.write("Average is:", average)
    fileh.close()
    

    如果您计算循环内的平均值,它将每次都修改,然后您将使用最后计算的数字。

    标识在python中非常重要。

    试试这个:

    for line in s:
      num1=0
      num1+= float(line)
      total += num1
    average = total / 50 # No tab means it is outside the loop
    fileh.write("Average is:", average)
    fileh.close()
    

    【讨论】:

      【解决方案2】:

      在您写出随机数时计算total。不要尝试从您要附加到的文件中再次读取它们。

      【讨论】:

        猜你喜欢
        • 2015-01-13
        • 1970-01-01
        • 2015-01-20
        • 1970-01-01
        • 2021-05-27
        • 2022-10-04
        • 2015-04-18
        • 1970-01-01
        • 2021-01-19
        相关资源
        最近更新 更多