求助 谢谢!!
设计一个名为 Robot 的类来表示机器人。机器人在整数2D网格中具有名称和元组位置(x,y)。机器人的初始化程序使用名称作为参数,以及一个可选的起始位置,该起始位置是元组(x,y),默认为(0,0)。
机器人具有move_to(self,x_position,y_position)方法来设置其在网格中的当前位置,还具有 up(self,displacement)和 right(self,displacement)方法,以将机器人移动给定位移(可以是负数)分别在y或x中。它还需要一种支持以下所示格式的机器人打印的方法。
Test
robot1 = Robot("Marvin")
print(robot1)
robot1.move_to(5, 11)
print(robot1)
robot1.move_to(1, 2)
print(robot1)
robot1.up(3)
robot1.right(-4)
print(robot1)
result
Marvin is at (0, 0)
Marvin is at (5, 11)
Marvin is at (1, 2)
Marvin is at (-3, 5) 所以你的问题是什么,哪一步卡住了? 我猜是老师布置的作业,题目就差手把手教你写了,不要太懒{:10_256:} hrp 发表于 2020-8-31 17:35
我猜是老师布置的作业,题目就差手把手教你写了,不要太懒
emmmmmmmm我就是不会做所以才问的 MIQIWEI 发表于 2020-8-31 17:42
emmmmmmmm我就是不会做所以才问的
等等 MIQIWEI 发表于 2020-8-31 17:42
emmmmmmmm我就是不会做所以才问的
# -*- coding: utf-8 -*-
class Robot(object):
def __init__(self, name, position=(0, 0)):
self.name = name
self.x_pos = position
self.y_pos = position
def move_to(self, x_position, y_position):
self.x_pos = x_position
self.y_pos = y_position
def up(self, displacement):
self.y_pos += displacement
def right(self, displacement):
self.x_pos += displacement
def __str__(self):
return '%s is at (%d, %d)' % (self.name, self.x_pos, self.y_pos)
手机写的,不知道有没有错漏? class Robot():
def __init__(self, name, x_position=0, y_position=0):
self.name = name
self.x = x_position
self.y = y_position
print(f'{self.name} is at ({self.x}, {self.y})')
def move_to(self, x_position, y_position):
self.x += x_position
self.y += y_position
self.x, self.y = self.rangexy(self.x, self.y)
print(f'{self.name} is at ({self.x}, {self.y})')
def up(self, displacement):
self.y += displacement
self.x, self.y = self.rangexy(self.x, self.y)
print(f'{self.name} is at ({self.x}, {self.y})')
def right(self, displacement):
self.x += displacement
self.x, self.y = self.rangexy(self.x, self.y)
print(f'{self.name} is at ({self.x}, {self.y})')
def rangexy(self, x, y):
if -5 <= x <= 5:
x = x
elif x > 5:
x = x - 5
elif x < -5:
x = x + 5
if -11 <= y <= 11:
y = y
elif y > 11:
y = y - 11
elif y < -11:
y = y + 11
return x, y
robot1 = Robot('Marvin')
print(robot1)
robot1.move_to(5, 11)
print(robot1)
robot1.move_to(1, 2)
print(robot1)
robot1.up(3)
robot1.right(-4)
print(robot1)
hrp 发表于 2020-8-31 17:59
手机写的,不知道有没有错漏?
谢谢!! 卧槽。这什么段位。看都看不懂
页:
[1]