题解 | #坐标移动#
坐标移动
http://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
将输入按‘;’分割成命令列表,将不同的操作存储到字典里面,根据正则判断是否是有效命令,执行相应的操作。
import sys
import re
x,y=0,0
cmd_list = sys.stdin.readline().strip().split(';')
fun={
'A':lambda a,b,p:(a-p,b),
'D':lambda a,b,p:(a+p,b),
'W':lambda a,b,p:(a,b+p),
'S':lambda a,b,p:(a,b-p)
}
for cmd in cmd_list:
if re.search(r'^[A|S|W|D]\d\d?$', cmd) and len(cmd)<=3:
x,y=fun[cmd[0]](x,y,int(cmd[1:]))
print(f'{x},{y}')