python小白,重构这里纠结了很久,最后是一个其他编程的大大帮忙指导出来,贴在这里希望能帮到其他有同样疑惑的小伙伴。
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_step=self.get_step()
y_step=self.get_step()
if y_step == 0 and x_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)
def get_step(self):
x_direction=choice([1,-1])
x_distance=choice([0,1,2,3,4])
x_step=x_direction*x_distance
return x_step
如果打算X,Y值不一致可以,可以def两个函数