我有一个用Python编写代码的项目,它将控制机器人在10×10网格中的移动。首先,我想指出,我是一个初学者,所以如果我能得到简单的代码行,我会更好,我可以消化。
因此,该项目要求:
一个10乘10的网格,机器人从最左边的位置开始,即X(0,0)。
从X(0,0)向下移动一个平铺会将值增加到(1,0),直到(9,0)左下角,而从X(0,0)移动到右边,每次增加(0,1),直到(0,9)右上角。从位置(9,0)向右移动将再次达到(9,9)。
它将接受向上、向下、左、右(u,d,l,r)的命令。每个命令都应该与表示指向给定方向的步骤(对于ex )的整数一起给出。u5,或d2)。
用户将连续发出命令,直到按下ENTER键,这将使程序退出。
在每个命令之后,程序必须计算机器人的位置,并用它打印一条消息。
如果用户发出无法执行或会使机器人走出网格的命令,则必须出现错误消息。它还必须在X或Y => N的情况下给出错误消息。
感谢所有愿意花时间帮助我的人!
我还没有尝试任何东西,因为我不知道该做什么和如何做。
发布于 2022-11-08 06:57:01
while True:
try:
n = int(input("Δώσε διαστάσεις του grid:"))
n1 = n*n
print(f"Το ρομπότ κινείται σε χώρο {n1}. Η αρχική του θέση είναι:", x, ",", y)
except ValueError:
print("Παρακαλώ δώσε θετικό ακέραιο αριθμό")
continue
while True:
try:
move = input("Δώσε κίνηση:")
if move[0] == 'r':
if int(move[1:])+y >= n1:
print("ΣΦΑΛΜΑ! Κίνηση έξω από τα όρια του χώρου.\nΗ θέση του ρομπότ παραμένει:", x, ",", y)
else:
y = y+int(move[1:])
print("Η νέα θέση του ρομπότ είναι:", x, ",", y)
if move[0] == 'l':
if int(move[1:])-y > 0:
print("ΣΦΑΛΜΑ! Κίνηση έξω από τα όρια του χώρου.\nΗ θέση του ρομπότ παραμένει:", x, ",", y)
else:
y = y-int(move[1:])
print("Η νέα θέση του ρομπότ είναι:", x, ",", y)
if move[0] == 'u':
if int(move[1:])-x > 0:
print("ΣΦΑΛΜΑ! Κίνηση έξω από τα όρια του χώρου.\nΗ θέση του ρομπότ παραμένει:", x, ",", y)
else:
x = x-int(move[1:])
print("Η νέα θέση του ρομπότ είναι:", x, ",", y)
if move[0] == 'd':
if int(move[1:])+x >= n1:
print("ΣΦΑΛΜΑ! Κίνηση έξω από τα όρια του χώρου.\nΗ θέση του ρομπότ παραμένει:", x, ",", y)
else:
x = x+int(move[1:])
print("Η νέα θέση του ρομπότ είναι:", x, ",", y)
except ValueError:
print("ΣΦΑΛΜΑ! Κίνηση έξω από τα όρια του χώρου.\nΗ θέση του ρομπότ παραμένει:", x, ",", y)
continue
while move == "":
print("Τερματισμός προγράμματος")
exit()https://stackoverflow.com/questions/74265400
复制相似问题