如何让我的代码重复一个动作?我使用了“foriinrange(x):”但它似乎不起作用
import random
import statistics
import math
numbers = [508, 507, 600, 600, 610, 610, 590, 601, 600, 600, 600, 610, 610, 610, 600, 600, 600, 620, 620, 620, 610, 620,
620, 620, 620, 620, 630, 610, 630, 630, 620, 630, 630, 620, 600, 610, 620, 620, 600, 590, 600, 600, 630, 580,
580, 570, 580, 590, 560, 580, 580, 570, 580, 580, 580, 580, 580, 570, 580, 580, 560, 570, 560, 580, 570, 580,
560, 580, 540, 560, 550, 550, 580, 550, 550, 550, 560, 540, 570, 580, 580, 570, 570, 560, 550, 570, 540, 550,
560]
numbers2 = [5.08, 5.07, 6, 6, 6.1, 6.1, 5.9, 6.01, 6, 6, 6, 6.1, 6.1, 6.1, 6, 6, 6, 6.2, 6.2, 6.2, 6.1, 6.2, 6.2, 6.2,
6.2, 6.2, 6.3, 6.1, 6.3, 6.3, 6.2, 6.3, 6.3, 6.2, 6, 6.1, 6.2, 6.2, 6, 5.9, 6, 6, 6.3, 5.8, 5.8, 5.7, 5.8,
5.9, 5.6, 5.8, 5.8, 5.7, 5.8, 5.8, 5.8, 5.8, 5.8, 5.7, 5.8, 5.8, 5.6, 5.7, 5.6, 5.8, 5.7, 5.8, 5.6, 5.8,
5.4, 5.6, 5.5, 5.5, 5.8, 5.5, 5.5, 5.5, 5.6, 5.4, 5.7, 5.8, 5.8, 5.7, 5.7, 5.6, 5.5, 5.7, 5.4, 5.5, 5.6]
for i in range(100):
mu = statistics.mean(numbers2)
c = 0
sd = []
for i in range(len(numbers2)):
b = (numbers2[c] - mu) ** 2
sd.append(b)
c += 1
s2 = sum(sd)
s = math.sqrt(s2)
sample = []
for i in range(20):
sample.append(random.choice(numbers))
mus = sum(sample)
mus = mus / 100
mus = mus / 20
t = (mus - mu) / (s / math.sqrt(len(numbers)))
tvalues = []
tvalues.append(t)
print(tvalues)
meantv = sum(tvalues) / len(tvalues)
print(meantv)
我错过了什么?for i in range(100):我使用的第一个似乎没有重复代码......我错过了一个缺少的缩进,还是我不能一次重复这么多东西?(或者我是否可能以某种方式错过了指定要重复的内容?)
回答
尝试移出tvalues = []循环。这样您每次运行循环时都会将该变量设置为空列表。
THE END
二维码