题解 | #坐标移动#
坐标移动
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]))