代码之家  ›  专栏  ›  技术社区  ›  wu peter

Python问题:TypeError:“NoneType”对象不可调用

  •  -3
  • wu peter  · 技术社区  · 7 年前

    运行python xxx时,我收到以下错误消息。py。如何修复,非常感谢。

    c: \ Python27>python xxx。py公司 回溯(最近一次呼叫最后一次): 文件“test.py”,第34行,in 打印播放器(1,0,10) TypeError:“NoneType”对象不可调用

    以下是xxx。py:

    def create(pos=[0,0]):
        def player(dir_x,dir_y,step):
            new_x = pos[0] + dir_x*step 
            new_y = pos[1] + dir_y*step
            pos[0] = new_x  
            pos[1] = new_y
            return pos
    return player
    
    if __name__ == '__main__':  
    player = create()
        print player(1,0,10)
        print player(0,1,20)
        print player(-1,0,10) 
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   FlyingTeller AEgo    7 年前

    除了缩进之外,代码没有任何错误。正确的是:

    def create(pos=[0,0]):
        def player(dir_x,dir_y,step):
            new_x = pos[0] + dir_x*step 
            new_y = pos[1] + dir_y*step
            pos[0] = new_x  
            pos[1] = new_y
            return pos
        return player
    
    if __name__ == '__main__':  
        player = create()
        print player(1,0,10)
        print player(0,1,20)
        print player(-1,0,10)
    

    其中打印:

    [10, 0]
    [10, 20]
    [0, 20]