| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
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_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 = x_direction * x_distance 
                         
                         
                        if x_step == 0 or 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) 
 
 
 
 
 
import matplotlib.pyplot as plt 
 
from random_walk import RandomWalk 
 
rw = RandomWalk() 
rw.fill_walk() 
 
plt.scatter(rw.x_values,rw.y_values,s=15) 
plt.show() 
 
 
代码和书上的都是一样的啊  有什么问题吗
你 y 坐标打错了,不是xdiatance,应该是Y的,,,x轴y轴都一样还怎么漫步。。。。肯定是一条直线啦 
 
 
 |   
- 
总是产生这种图 
 
 
 
 
 
 
 
 |