题解 | 坐标移动
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
from re import L
import sys
# 输入方向,当前坐标,步长,返回移动后坐标
def move(f,x,y,n):
if f == 'A':
x-=n
return [x,y]
elif f == 'D':
x+=n
return [x,y]
elif f == 'W':
y+=n
return [x,y]
elif f == 'S':
y-=n
return [x,y]
else :
return [x,y]
s = input().split(';')
# print(s)
x = 0
y = 0
for i in range(len(s)):
step = s[i]
# print(step)
# 至少占2位,否则后面索引判断容易越界
if(len(step) >= 2) :
# m为移动方向,l为步长
m = step[0]
l = step[1:]
# 步长为数字
if(l.isdecimal()) :
n = int(l)
# print(n)
# print(l.isdecimal())
if m in ['A','D','W','S'] and n < 100 and n > 0 :
zuobiao = move(m,x,y,n)
# print(zuobiao)
x = zuobiao[0]
y = zuobiao[1]
i+=1
else:
i+=1
else :
i+=1
else:
i+=1
print(str(x)+','+str(y))
