首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个机器人在10×10网格中移动的Python项目,还有一些额外的要求

一个机器人在10×10网格中移动的Python项目,还有一些额外的要求
EN

Stack Overflow用户
提问于 2022-10-31 15:15:38
回答 1查看 48关注 0票数 -1

我有一个用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的情况下给出错误消息。

感谢所有愿意花时间帮助我的人!

我还没有尝试任何东西,因为我不知道该做什么和如何做。

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 06:57:01

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74265400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档