题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

operation = input().rstrip(';').split(';') # 此时operation是一个列表,如['A11', 'B222']
dict_ = {'A':[-1, 0], 'D':[1, 0], 'W':[1, 1], 'S':[-1, 1]} # 列表里的第一位说明了加减的数量,第二位说明在odom的哪一位进行操作,0代表x轴,1代表y轴。
odom = [0, 0]
for i in operation: # 遍历operation列表里的每一个元素,第一个元素就是'A11'
    if 1 < len(i) < 4: # 如果合法,则应该操作字符的长度应该是2或者3,如A1或者A10
        if i[0] in list(dict_.keys()): # 判断这个元素(字符串)的第一位是不是在我创建的字典的键列表,如果第一位不在,则说明这个字符串不合法。
            if i[1:].isnumeric(): # 判断这个元素(字符串)的第二(和第三位)是否为数字。比如'11'或者'1',如果不是,则不合法。
                odom[dict_[i[0]][1]] += int(dict_[i[0]][0]) * int(i[1:]) 
            #   对应坐标 = 对应坐标 + 操作*数量
print(str(odom[0]) + ',' + str(odom[1]))

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务