Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 ans ns=[(j,k)表示j,k in(self.x_值,self.y_值)]name错误:name';自我';没有定义_Python_Pygal - Fatal编程技术网

Python ans ns=[(j,k)表示j,k in(self.x_值,self.y_值)]name错误:name';自我';没有定义

Python ans ns=[(j,k)表示j,k in(self.x_值,self.y_值)]name错误:name';自我';没有定义,python,pygal,Python,Pygal,我想使用pygal绘制随机的杂乱点 并存储了一个svg文件 在run.py中,我尝试使用循环,每个循环1次生成一些数据,并分配一个变量 我的代码: 随机游走 from random import choice class RandomWalk(): def __init__(self, num_points=10240): self.num_points = num_points self.x_values = [0] self.y_val

我想使用pygal绘制随机的杂乱点
并存储了一个svg文件 在run.py中,我尝试使用循环,每个循环1次生成一些数据,并分配一个变量
我的代码: 随机游走

from random import choice
class RandomWalk():
    def __init__(self, num_points=10240):
        self.num_points = num_points
        self.x_values = [0]
        self.y_values = [0]

    def fill_walk(self):
        while len(self.x_values) < self.num_points:    
            x_direction = choice([1, -1])
            x_distance = choice([0, 1, 2, 3, 4])
            x_step = x_direction * x_distance
            y_direction = choice([1, -1])
            y_distance = choice([0, 1, 2, 3, 4])
            y_step = y_direction * y_distance

            next_x = self.x_values[-1] + x_step
            next_y = self.y_values[-1] + y_step

            self.x_values.append(next_x)
            self.y_values.append(next_y)
但有错误: 名称错误:未定义名称“self”

ns=[(j,k)用于j,k in(self.x_值,self.y_值)]
更改为
ns=[(j,k)用于j,k in(rw.x_值,rw.y_值)]

self
用于从对象内部引用对象。但在外部,您需要使用指向该对象的变量引用该对象

import pygal
from random_walk import RandomWalk

xy_sjmb = pygal.XY(stroke=False)
xy_sjmb.title = "random rambled"

a, b, c, d = [], [], [], []
all =[a, b, c, d]
for i in range(len(all)):
    rw = RandomWalk()
    rw.fill_walk()    
    ns =[(j, k)  for j, k in (self.x_values, self.y_values) ]
    all[i-1] = ns

xy_sjmb.add('a', a)
xy_sjmb.add('b', b)
xy_sjmb.add('c', c)
xy_sjmb.add('d', d)
xy_sjmb.render_to_file('sjmb.svg')