Trinity_lee 发表于 2016-5-13 21:15
python2.7如何使用nonlocal呀
nonlocal是3.0版本之后新增的,python2.7没有
甲鱼哥{:5_97:}厉害了~看懂了;灰常感谢
天哪,学到现在就发现自己只是看懂,明白别人在干什么。理想和现实还是有差距。不管怎样也要把python啃下来。我只学一门还不行啊.......
想想以后能做个小游戏就好高兴
原来如此,不懂。
好难啊,对我这种初学者来说
对照答案学习
程序倒是看懂了,就是不明白为什么要用闭包的写法,相比用普通函数有什么优势?
感觉这个代码可以改进一下
懵逼{:10_243:}
慢慢学习吧
学到14课了
喵喵喵~o( =∩ω∩= )m
恩,闭包果然是个厉害的东西啊,还不是太会用。
假装我看懂了!!!
origin=(0,0)
legal_x=[-100,100]#水平范围
legal_y=[-100,100]#垂直范围
def create(pos_x=origin,pos_y=origin):
def moving(direction,step):
nonlocal pos_x,pos_y
new_x=pos_x+direction*step
new_y=pos_y+direction*step
if new_x<legal_x:
pos_x=legal_x-(new_x-legal_x)
elif new_x>legal_x:
pos_x=legal_x-(new_x-legal_x)
else:
pos_x=new_x
if new_y<legal_y:
pos_y=legal_y-(new_y-legal_y)
elif new_y>legal_y:
pos_y=legal_y-(new_y-legal_y)
else:
pos_y=new_y
return(pos_x,pos_y)
return moving
a=create()
print('向上一步,向左三步:',a(,))
小甲鱼的只能走正方形,或者直线,可以稍微将step改为list 可以设置两个方向的步进
不觉明历
没人玩过这个大话战国吗?
理解为坐标存在move里 不动move 坐标就一直记着
我竟然成功的看懂了