Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于平均值、最大值和最小值函数python的问题_Python - Fatal编程技术网

关于平均值、最大值和最小值函数python的问题

关于平均值、最大值和最小值函数python的问题,python,Python,请忽略未使用的模块 所以我试图从函数random_walk得到numbers的平均值,但我有几个问题 首先,我应该在0,0网格上启动程序。我试图从提供的种子中找出100个步骤和50种不同风格的试验平均值。但是它不能正常工作,我也不知道为什么 您正在计算循环内从random_walk()返回的每个值的mean,超过之前的值。将循环更改为: import statistics as stat from statistics import mean from random import seed, c

请忽略未使用的模块

所以我试图从函数random_walk得到numbers的平均值,但我有几个问题


首先,我应该在0,0网格上启动程序。我试图从提供的种子中找出100个步骤和50种不同风格的试验平均值。但是它不能正常工作,我也不知道为什么

您正在计算循环内从
random_walk()
返回的每个值的
mean
,超过之前的值。将循环更改为:

import statistics as stat
from statistics import mean
from random import seed, choice
from math import hypot
import random
from turtle import *
import statistics


seed(20190101)

def random_walk(n):
    x = 0
    y = 0
    for i in range(n):
        step = random.choice(["N","S","E","W"])
        if step == 'N':
            y = y + 1
        elif step == "S":
            y = y - 1
        elif step == "E":
            x = x + 1
        else:
            x = x - 1
    return (x,y)

for i in range(100):
    walk = random_walk(50)
    y = abs(walk[0]) + abs(walk[1])
    x = statistics.mean(y)

print(x)

您运行主循环100次,但是除了最后一次,您放弃了每次迭代的结果。你所做的一切都是打印
统计数据。对于
y
的最终值,平均值(y)
(我认为这会给你一个错误,因为
y
不是一个合适的值)。您需要将值保存在列表中,然后使用列表作为参数调用
mean
一次。
all_steps = []
for i in range(100):
    walk = random_walk(50)
    all_steps.append(abs(walk[0]) + abs(walk[1]))
steps_mean = statistics.mean(all_steps) #Only after the loop
print(steps_mean)