1. 模拟分子运动路径

将scatter()替换为plot()

--snip--
    plt.plot(rw.x_values, rw.y_values, linewidth=1)
--snip--

结果如下:
rw_route.png

2. 重构RandomWalk类

封装漫步位置变化的函数以减少fill_step()函数代码量和便于理解。

--snip--
    def get_step(self):
        direction = choice([1, -1])
        distance = choice(list(range(5)))
        return direction * distance

    def fill_walk(self):
        """完成漫步"""
        while len(self.x_values) < self.num_points:
            x_step = self.get_step()
            y_step = self.get_step()
            # 忽略原地踏步
            if x_step == 0 and y_step == 0:
                continue
            # 漫步一步
            self.x_values.append(self.x_values[-1] + x_step)
            self.y_values.append(self.y_values[-1] + y_step)
最后修改:2019 年 07 月 07 日 12 : 41 AM
如果觉得我的文章对你有用,请随意赞赏