Ejemplo n.º 1
0
 def test_move0(self):
     rw = RandomWalk()
     rw.move(1, 0)
     self.assertAlmostEqual(1, rw.distance(), 7)
Ejemplo n.º 2
0
 def test_random_walk2(self):
     for i in range(5000):
         self.assertNotEqual(0, RandomWalk.random_walk_multi(1, 1))
Ejemplo n.º 3
0
 def test_random_walk(self):
     for i in range(5000):
         self.assertAlmostEqual(10, RandomWalk.random_walk_multi(100, 100), delta=4)
Ejemplo n.º 4
0
    def test_move3(self):
        rw = RandomWalk()
        root2 = math.sqrt(2)

        rw.move(1, 1)
        self.assertAlmostEqual(root2, rw.distance(), 7)

        rw.move(1, 1)
        self.assertAlmostEqual(2 * root2, rw.distance(), 7)

        rw.move(0, -2)
        self.assertAlmostEqual(2, rw.distance(), 7)

        rw.move(-2, 0)
        self.assertAlmostEqual(0, rw.distance(), 7)
Ejemplo n.º 5
0
    def test_move2(self):
        rw = RandomWalk()

        rw.move(0, 1)
        self.assertAlmostEqual(1, rw.distance(), 7)

        rw.move(0, 1)
        self.assertAlmostEqual(2, rw.distance(), 7)

        rw.move(0, -1)
        self.assertAlmostEqual(1, rw.distance(), 7)

        rw.move(0, -1)
        self.assertAlmostEqual(0, rw.distance(), 7)
Ejemplo n.º 6
0
import matplotlib.pyplot as plt
from randomwalk.random_walk import RandomWalk

while True:
    rw = RandomWalk()
    rw.fill_walk()
    point_number = list(range(rw.num_points))
    plt.scatter(rw.x_values, rw.y_values, c=point_number, cmap=plt.cm.Blues, edgecolors='none', s=15)

    # 突出起点和终点
    plt.scatter(0, 0, c='green', edgecolors='none', s=100)
    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none',
                s=100)

    # 隐藏坐标轴
    plt.axes().get_xaxis().set_visible(False)
    plt.axes().get_yaxis().set_visible(False)
    plt.show()

    keep_running = input("Make another walk? (y/n):")
    if keep_running == 'n':
        break