def f(x:str):#判断一个指令是否合法
if x=='':
return False
if x[0]=='W' or x[0]=='A' or x[0]=='S' or x[0]=='D':#判断首字母是否正确
if len(x[1:])>2:#判断其余字符是否长度正确
return False
else:
for i in x[1:]:
if not i.isdigit():#判断其余字符是否有非数字
return False
if x[1:]=='':#防止出现只有一个字母的输入,例如W;
return False
return True
else:
return False
s=input().split(';')
#print(s)
line=[]
x=0
y=0
for i in s:#创建有效指令列表
if f(i):
line.append(i)
for j in line:#进行坐标移动
if j[0]=='W':
y+=int(j[1:])
elif j[0]=='S':
y-=int(j[1:])
elif j[0]=='A':
x-=int(j[1:])
elif j[0]=='D':
x+=int(j[1:])
print(','.join([str(x),str(y)]))
#print(line)
我这个方法比较粗暴,查出所有的非法字符:
1.首字母不正确;2.空字符(因;分隔导致);3.坐标值过大或过小;4.无坐标值;5.坐标值内容非数字

京公网安备 11010502036488号