题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
import re s_arr = input().split(";") zb = [0, 0] # def pd(s): # # c_arr = s.split() # wz = ['A', 'D', 'W', 'S'] # if len(s) > 0 and s[0] in wz: # # print() # if len(s) == 2 and s[1].isdigit(): # return True # elif len(s) == 3 and s[1].isdigit() and s[2].isdigit(): # return True # else: # return False # # return True # else: # return False # arr = [v for v in s_arr if pd(v)] pattern = r"^[ADSW][0-9]{1,2}$" arr = [v for v in s_arr if re.match(pattern, v)] for a in arr: num = int(a[1::]) # print(num) if a[0] == "A": zb[0] = zb[0] - num if a[0] == "D": zb[0] = zb[0] + num if a[0] == "W": zb[1] = zb[1] + num if a[0] == "S": zb[1] = zb[1] - num print(",".join(str(num) for num in zb))