题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
不得不说,这个题比旁边的中等题(购物单)简单多了,首先过滤掉格式不对的字符串,
然后执行每个命令,最后返回被修改过的坐标就ok啦
import re
pattern = re.compile('^[ASDW][1-9]\d*$')#利用filter函数和正则表达式过滤掉格
move = list(filter(pattern.match,input().split(';')))#式不符合要求的命令
def A(dis): #把向各方向移动的操作封装到函数中
pos[0]-=dis
def S(dis):
pos[1]-=dis
def D(dis):
pos[0]+=dis
def W(dis):
pos[1]+=dis
pos = [0,0]
for m in move: #执行每个命令
if 'A' in m:
A(int(m[1:]))
elif 'S' in m:
S(int(m[1:]))
elif 'D' in m:
D(int(m[1:]))
else:
W(int(m[1:]))
print(str(pos[0])+','+str(pos[1]))

