题解 | 坐标移动

坐标移动

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



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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