我当前的问题是给我们一个看起来像这样的键盘
[1] [2] [3]
[4] [5] [6]
[7] [8] [9]
[x] [0] [x]
然后,我们获得了一段代码,该代码段类似于“ DRRRRRRLUUUULLDDDDRLDU”。这段代码被放大了10倍,并以四种不同的方式完成。我当前面临的问题是我的代码将读取运动并为我提供与运动相对应的坐标。例如,我们必须从5开始,所以我将5设置为[0,0]。首先是D向下移动,因此我的代码将移至[0,-1]。当我进入RRRR部分时,就会出现问题。我想阻止代码通过[1,-1]。我的代码目前看起来像
testArray = [ [0, 0] ]
acceptedValues = [ [-1, 1], [-1, 0], [-1, 1], [0, -1], [0, 0], [0, -1], [-1, -1], [-1, 0], [-1, 1], [0, -2] ]
x = 0
y = 0
for arrow in arrows:
if arrow == 'U':
y = y + 1
# if y + 1 == [-1, 2]:
# pass
# if y + 1 == [0, 2]:
# pass
# if y + 1 == [1, 2]:
# pass
currentPosition = [x, y]
testArray.append(currentPosition)
if arrow == 'D':
y = y - 1
# if y - 1 == [-1, -2]:
# pass
# if y - 1 == [1, -2]:
# pass
currentPosition = [x, y]
testArray.append(currentPosition)
if arrow == 'R':
x = x + 1
# if x + 1 == [2, -1]:
# pass
# if x + 1 == [2, 0]:
# pass
# if x + 1 == [2, 1]:
# pass
currentPosition = [x, y]
testArray.append(currentPosition)
if arrow == 'L':
x = x - 1
# if x - 1 == [-2, -1]:
# pass
# if x - 1 == [-2, 0]:
# pass
currentPosition = [x, y]
testArray.append(currentPosition)
print(testArray)
我尝试使用pass跳过重复的步骤,但是当我这样做时,它只是使所有内容变得模糊并返回[0,0]。如果我忽略了通行证,我将得到[-1,3]。我正在尝试的一小段代码的目标是返回[-1,1]。同样,如果我要排在第7位,并被告知要移动D,我将无法前进至0。我只能从第8位到达0,而从0向左,向右或向下走,则使我无处可去。
如何获取它,以便可以跳过试图使我越界的步骤?