题解 | #坐标移动#

坐标移动

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]))


#华为od#
全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-29 21:14
疯犬丨哈士奇:喜欢你的人会主动表白,对你有想法的人会很主动,所以要你的公司不会吊着你所以懂了吧
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务