| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
求大神看下,小甲鱼的答案如下 
不明白在定义self.x的时候为什么不直接用r.randint(0,10)呢,下面检查移动是都超出边界的时候为什么用这个公式呢?能不能用10-(new_x-10)代替呢? 
最后一个不过也很重要的问题,__init__(self)是在定制初始化方案,这个怎么更好的理解呢? 
 
import random as r 
legal_x=[0,10] 
legal_y=[0,10] 
class Turtle: 
    def__init__(self): 
        self.power=100 
        self.x=r.randint(legal_x=[0],legal_x=[1]) 
        self.y=r.randint(legal_y=[0],legal_y=[1]) 
    def move(self): 
        new_x=self.x+r.choice([1,2,-1,-2]) 
        new_y=self.y+r.choice([1,2,-1,-2]) 
        #检查移动是否超出场景边界 
        if new_x<legal_x[0]: 
            self.x=legal_x[0]-(new_x-legal_x[0]) 
        elif new_x>legal_x[1]: 
            self.x=legal_x[1]-(new_x-legal_x[1]) 
        else: 
            self.x=new_x 
                         |   
 
 
 
 |