Me ajudem com esse código em python

Estou com problemas com um com um código em python, vindo de um curso online, e não estou conseguindo resolver:

class point(object):

def __init__(self, x, y):
    self.x = x
    self.y = y

class reward(point):
def init(self, x, y, name):
super(reward, self).init(x, y)
self.name = name

class robo:
def init(self, x, y):
self.x = x
self.y = y

def move_up(self, x, y):
    if self.y < 10:
        self.y = self.y + 1

    else:
        print("Comando proibido")

def move_down(self, x, y):
    if self.y > 1:
        self.y = self.y - 1

    else:
        print("Comando proibido")

def move_left(self, x, y):
    if self.x > 1:
        self.x = self.x - 1

    else:
        print("Comando proibido")

def move_right(self, x, y):
    if self.x < 10:
        self.y = self.y + 1

    else:
        print("Comando proibido")

def check_rewards(robo, reward):
ok = False

for reward in rewards:
    if robo.x == reward.x and reward.y == robo.y:
        print("O robô achou a recompensa: {}".format(reward.name))
        ok = True

    return ok

r1 = reward(1, 2, “moeda”)
r2 = reward(5, 3, “gasolina”)

robot = robo(2, 2)

rewards = [r1, r2]

check_rewards(robo, rewards)

Me ajudem por favor

erros:
Traceback (most recent call last):
File “/home/vitor/PycharmProjects/JogoDoRobo/robojogo.py”, line 66, in
check_rewards(robo, rewards)
File “/home/vitor/PycharmProjects/JogoDoRobo/robojogo.py”, line 52, in check_rewards
if robo.x == reward.x and reward.y == robo.y:
AttributeError: type object ‘robo’ has no attribute ‘x’

Process finished with exit code 1

Não fique abrindo vários tópicos com o mesmo assunto:

Pressa não vai resolver nada e ainda vai poluir o fórum…

Quanto ao erro, está dizendo que a classe robo não tem o atributo x talvez porque vc não escreveu os métodos init corretamente, falta os dois underlines de cada lado…

isso:

 init(self, x, y)

onde deveria ser:

__init__(self, x, y)
1 curtida

brother, ainda estou com dificuldade, estou preos nesse codigo desde ontem:

class point(object):
def init(self,x,y):
self.x=x
self.y=y

class reward(point):
def init(self,x,y,name):
super(reward, self).init(x,y)
self.name=name

class robo(point):
def init(self):
self.x = x
self.y = y

def move_up(self):
    if self.y < 10:
        self.y = self.y + 1

    else:
        print("Comando proibido")

def move_down(self):
    if self.y > 1:
        self.y = self.y - 1

    else:
        print("Comando proibido")

def move_left(self, x, y):
    if self.x > 1:
        self.x = self.x - 1

    else:
        print("Comando proibido")

def move_right(self):

    if self.x < 10:
        self.x = self.x + 1

    else:
        print("Comando proibido")


def check_reward(robo,rewards):
    ok = False

    for reward in rewards:
        if robo== reward.y and robo.x== reward.x:
            print("O robô achou {}" .format(self.name))
            ok= True

r1 = reward(5,3,“moeda”)
r2 = reward(3,2,“gasolina”)

rewards= [r1,r2]

robot1=robo(1,4)

check_reward(robo, rewards)

erro:
Traceback (most recent call last):
File “/home/vitor/PycharmProjects/JogoDoRobo/robojogo.py”, line 66, in
check_reward(robo, rewards)
File “/home/vitor/PycharmProjects/JogoDoRobo/robojogo.py”, line 54, in check_reward
if robo.y == reward.y and robo.x == reward.x:
AttributeError: type object ‘robo’ has no attribute ‘y’

Process finished with exit code 1

isso:

 init(self, x, y)

onde deveria ser:

__init__(self, x, y)

Não consigo ser mais claro do que isso, reveja a forma como vc fez o init na classe point, reward e robo e ajuste…

1 curtida

E seu robo ta faltando passar o x e o y:

class robo(point):
    def __init__(self, x, y):
        self.x = x
        self.y = y

Atenção aos detalhes jovem, atenção aos detalhes!

1 curtida