找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3111|回复: 2

[已解决] 写了一个随机漫步程序,不知道哪里出问题了

4

主题

8

帖子

8

积分

贫民

积分
8
Hello,World 发表于 2017-3-29 15:46:51 | 显示全部楼层 |阅读模式
本帖最后由 Hello,World 于 2017-3-30 07:08 编辑

random_walk.py
from random import choice
class RandomWalk():
def __init__(self,num_points=5000):
  self.num_points=num_points
  self.x_values=[0]
  self.y_values=[0]
def fill_work(self):
  while len(self.x_values)<self.num_points:
   x_dir=choice([1,-1])
   X_dis=choice([0,1,2,3,4])
   x_step=x_dir*x_dis
   
   y_dir=choice([1,-1])
   y_dis=choice([0,1,2,3,4])
   y_step=y_dir*y_dis
   
   if x_step==0 and y_step==0:
    continue
   
   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)


rw_visual.py
import matplotlib.pyplot as plt
from random_walk import RandomWalk
rw=RandomWalk()
rw.fill_work()
plt.scatter(rw.x_values,rw.y_values)
plt.show()


Traceback (most recent call last):
  File "rw_visual.py", line 4, in <module>
    rw.fill_work()
  File "C:\Users\主脑\Desktop\python_work\15生成数据\random_walk.py", line 11, in fill_work
    x_step=x_dir*x_dis
NameError: name 'x_dis' is not defined
回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-3-29 16:13:52 | 显示全部楼层
x_dis, X_dis=choice([0,1,2,3,4]),大小写出问题了,这两个不是同一个变量

点评

谢谢!看了这么多遍,自己竟然没看出来,汗颜。。。  发表于 2017-3-30 07:04
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表