找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 12657|回复: 11

[已回复] 函数重构问题,请帮忙解决一下,谢谢

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎 发表于 2016-11-3 23:07:01 | 显示全部楼层 |阅读模式
def get_step():
        direction = choice([1,-1])
        print(direction)
        distence = choice([0,1,2,3,4])
        next_xy = direction * distence
        return next_xy
    def fill_walk(self):
        """计算随机漫步的所有点"""
        #不断漫步,直到列表达到指定的长度
        while len(self.x_values) < self.num_points:
            #决定前进的方向以及沿着这个方向行走的距离
            
            
            x_step = get_step()
            y_step = get_step()
            
            #拒绝原地踏步走
            if x_step ==0 and y_step ==0:
                continue
            #计算下一个点的x和y的值
            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)
回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-11-6 11:54:28 | 显示全部楼层
问题是啥?
回复

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-6 18:15:43 来自手机 | 显示全部楼层
问题是name 'get_step()' is not defined这不是没有定义函数嘛?可是明明进行函数重构了
回复 支持 反对

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-6 18:19:57 来自手机 | 显示全部楼层
这样就可以运行的,上边的问题只是对random_walk进行了重构,怎么会是没有定义呢?请您指点一下
1478427484640..jpg
回复 支持 反对

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-6 18:23:30 | 显示全部楼层
图片不清晰,我把源程序给您看一下吧,您看一下

random_walk.py

1.21 KB, 下载次数: 11

rw_visual.py

1.03 KB, 下载次数: 11

回复 支持 反对

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-6 18:26:03 | 显示全部楼层
问题是name 'get_step()' is not defined 函数没有定义,我把没有进行函数重构的源程序发在下面了,你看一下行吗?
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-11-6 20:13:00 | 显示全部楼层
函数定义加self参数 get_step(self)

调用时使用self.get_step()
python3.4.4, win10
回复 支持 反对

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-7 07:21:56 来自手机 | 显示全部楼层
whydo1 发表于 2016-11-6 20:13
函数定义加self参数 get_step(self)

调用时使用self.get_step()

可不可以把self理解成一个.py呢?在这个程序里,self就是random_wolk.py,函数重构后,用self即是文件本身去调用自己重构的函数
回复 支持 反对

使用道具 举报

9

主题

33

帖子

33

积分

贫民

积分
33
奔跑的壁虎  楼主| 发表于 2016-11-9 07:05:12 | 显示全部楼层
whydo1 发表于 2016-11-6 20:13
函数定义加self参数 get_step(self)

调用时使用self.get_step()

可不可以把self理解成一个.py呢?在这个程序里,self就是random_wolk.py,函数重构后,用self即是文件本身去调用自己重构的函数
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-11-13 16:21:54 | 显示全部楼层
self应看作类的实例
python3.4.4, win10
回复 支持 反对

使用道具 举报

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

本版积分规则

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