为什么我的代码获得平均结果似乎不正确?

美浓
import random
f = open('yearlystep.txt','w')          #write random steps for one year
for y in range(366):
    x = random.randint(0,1000)
    f.write(str(x)+'\n')

f.close()

f = open('yearlystep.txt','r')          #calculate average steps per 30 days

total = 0
for x in range(12):
    for y in range(30):
        r = f.readline()
        total += int(r)
        avg = total/30
        total = 0
    
    print(avg)

f.close()

意外的输出:

在此处输入图片说明

如您所见,我正在尝试编写一个程序来计算每30天随机步骤的平均值。但是它没有得到正确的结果,因为平均值之一显示为1.0?我不知道发生了什么,我的逻辑和代码可能有问题。谁能用代码解释并描述我为我做错了什么?谢谢。

缺口

您的问题是您没有正确缩进这两行:

avg = total/30
total = 0

当它们应该位于外部时,这会将它们置于您的内部循环中。进行更正应该给出正确的结果。正如@Barmar指出的那样,您可以将作业移到total月循环的开头,以避免重复。

for x in range(12):
    total = 0
    for y in range(30):
        r = f.readline()
        total += int(r)
    avg = total/30
    print(avg)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

isAbstract()返回修改不正确的结果 - 为什么?

为什么我对象的ArrayList循环的结果是不正确的?

为什么我对象的ArrayList循环的结果是不正确的?

为什么总和的平均结果不正确?

为什么Date.parse给出不正确的结果?

为什么我的递归式记忆斐波那契代码不正确?

为什么我的代码不正确(处理字符串)?

为什么我的代码运行不正确?如果陈述,这有什么问题?

为什么在此代码中隐式类型转换结果不正确?

为什么从OpenMP程序得到不正确的结果?

为什么我的代码每次都需要回显“正确”时回显“不正确”?

我编译了这个看似不正确的代码,但我不明白为什么

为什么我的程序返回的结果不正确?

为什么我的代码计算的变换坐标之间的距离不正确?

为什么我的Hovertool(来自bokeh)显示不正确的结果?

libc hypot函数似乎为double类型返回不正确的结果...为什么?

为什么我会收到“单变量”警告和不正确的结果?

为什么我的图像不正确?

为什么我的代码对大数给出的结果不正确?

为什么代码分析不正确?

为什么我的数学代码总是说我的答案不正确?

为什么我的数学不正确

为什么我的数字数组的平均值不正确?

为什么我的测验结果显示不正确?

为什么我的 Rust StackDFS 实现会产生不正确的结果?

为什么我的代码条件不正确?

为什么在 C 中使用这个按位宏时我的结果不正确

为什么 persistenceEnabled: true 会导致我的查询给出不正确的结果?

为什么 VPMOVMSKB 似乎产生了不正确的结果?