我有一个python代码,它用来指导m到达p。你知道吗
代码如下:
#!/bin/python
def displayPathtoPrincess(n,grid):
m = "m"
p = "p"
for i in range(n):
if(m in grid[i]):
m_column = grid[i].find(m)
m_row = int(i + 1)
#print "{0}x{1} \n".format(int(i + 1), m_position + 1)
if(p in grid[i]):
p_column = grid[i].find(p)
p_row = int(i + 1)
#print "{0}x{1} \n".format(int(i + 1), p_position + 1)
down_up = p_row - m_row
if(down_up > 0):
print "DOWN\n"*down_up
else:
print "UP\n"
right_left = p_column - m_column
if(right_left > 0):
print "RIGHT\n"*right_left
else:
print "LEFT\n"
m = input()
grid = []
for i in xrange(0, m):
grid.append(raw_input().strip())
displayPathtoPrincess(m,grid)
输入:
> 6
> ---
> ---
> -m-
> ---
> ---
> p--
预期产量:
DOWN
DOWN
DOWN
LEFT
我的输出:
DOWN
DOWN
DOWN
LEFT
正如您在我的输出中看到的,只要程序改变方向,它就会添加新行。有什么办法阻止这条新线路出现吗?你知道吗
每次
'DOWN'
或'RIGHT'
执行此操作时,您都在对换行符进行硬编码:结果字符串将是
'DOWN'
或'RIGHT'
,后跟一个换行符,即指定的次数。这意味着这些字符串将以不需要的换行符结束。最小的修复方法是将所需数字乘以1,然后将最后一位相加:或使用
str.join
:相关问题 更多 >
编程相关推荐