【发布时间】:2020-10-12 19:33:54
【问题描述】:
如何使用以下输入在二维列表中导航路径:u、d、l、r 分别表示上、下、左、右。参考将是 list[0][0]=1(参见 ex. fig. ),它使用 python reverse 方法使 [0][0] 出现在底部。如果移动超出范围,它将忽略该移动并继续下一步移动。 (例如:输入 uuddlrlr 将向上两次,向下两次,向左,向右,然后向左,再次向右)。最终会出现在 list[0][1] = 8 中。
图1使用python reverse方法使[0][0]出现在底部。
list = [[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,8,0,0]]
I have try this code though but ain't working
def __init__(self, move):
self.move = move
self.x = ''
def inputMove(self, Monster):
self.content = Monster.getVal()
for self.row in reversed(self.content):
print(self.row)
print(isinstance(self.move,str))
try:
self.i = 0
self.j = 0
self._doraPower = 10
isinstance(self.move, str)
if self.move == 'u':
try:
self.i+=1
self.content[self.i][self.j]
for self.row in reversed(self.content):
print(self.row)
if self._doraPower >= self.content[self.i][self.j]:
print('dora wins')
else:
print('Coordinates of last room visited:',self.i,',',self.j)
except IndexError:
pass
if self.move == 'd':
try:
self.i-=1
self.content[self.i][self.j]
print(self.i)
for self.row in reversed(self.content):
print(self.row)
if self.i > 0:
if self._doraPower >= self.content[self.i][self.j]:
print('dora wins')
else:
print('Coordinates of last room visited:',self.i,',',self.j)
else:
pass
except IndexError:
pass
if self.move == 'r':
try:
self.j+=1
self.content[self.i][self.j]
for self.row in reversed(self.content):
print(self.row)
if self._doraPower >= self.content[self.i][self.j]:
print('dora wins')
else:
print('Coordinates of last room visited:',self.i,',',self.j)
except IndexError:
pass
if self.move == 'l':
try:
self.j-=1
self.content[self.i][self.j]
print(self.i, self.j)
if self.j > 0:
if self._doraPower >= self.content[self.i][self.j]:
print('dora wins')
print(self.content[self.i][self.j])
else:
print('Coordinates of last room visited:',self.i,',',self.j)
else:
pass
except IndexError:
pass
else:
pass
except ValueError:
pass
【问题讨论】:
标签: python python-3.x list oop