坐标移动——python3解法

坐标移动

http://www.nowcoder.com/questionTerminal/119bcca3befb405fbe58abe9c532eb29

# A: x-; D: x+; W: y+; S: y-
# 起点:(0,0)
while True:
    try:
        str1 = [i for i in input().split(';')]
        direction = {'A':1,'D':2,'W':3,'S':4}
        n = len(str1)
        x, y = 0, 0
        for i in range(n):
            tmp = str1[i]
            if not tmp:
                continue
            judge = direction.get(tmp[0],0)
            if judge and len(tmp)<=3:
                number = -1
                try:
                    number = int(tmp[1:])
                except:
                    pass
                if number >= 0:
                    if judge == 1:
                        x -= number
                    elif judge == 2:
                        x += number
                    elif judge == 3:
                        y += number
                    else:
                        y -= number
        print(x,end = ',')
        print(y)
    except:
        break
全部评论
我觉得题目里很多通过例子会有问题,你的这个逻辑才是对的,在他们代码里,没有判断int()存不存在这步,如果int()不存在,就直接到了except,跳出while,而你这个又用了一次try。但是我不知道为啥他们的例子能通过
1
送花
回复
分享
发布于 2019-09-01 00:46
print(x,end = ',') print(y)这个分两次打印是为啥,我在一起打印就没过,可以解释一下么
1
送花
回复
分享
发布于 2021-04-03 16:19
秋招专场
校招火热招聘中
官网直投
好多答案都有问题  我感觉,而且千篇一律的问题😂
点赞
送花
回复
分享
发布于 2019-09-01 11:34

相关推荐

5 2 评论
分享
牛客网
牛客企业服务