题解 | #坐标移动#
坐标移动
http://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
该题也不算不上困难题,主要是对字符串的处理,把字符串中合法的坐标挑出来,并存入数组,并将方向后面的字符串转换为数字,
代码如下:
listnum=['0','1','2','3','4','5','6','7','8','9']
def strnum(str1):
for i in str1:
if i not in listnum:
return 0
return 1
str1=input().split(';')
list1=[]
for i in str1:
if len(i)>=2:
if i[0]=='A' or i[0]=='D' or i[0]=='W' or i[0]=='S':
if strnum(i[1:]) ==1:
list1.append((i[0],int(i[1:])))
# print(list1)
listbegin=[0,0]
for i in list1:
if i[0]=='A':
listbegin[0]= listbegin[0]-i[1]
if i[0]=='D':
listbegin[0] = listbegin[0] + i[1]
if i[0]=='W':
listbegin[1] = listbegin[1] + i[1]
if i[0]=='S':
listbegin[1] = listbegin[1] - i[1]
print(listbegin[0],end=',')
print(listbegin[1])
def strnum(str1):
for i in str1:
if i not in listnum:
return 0
return 1
str1=input().split(';')
list1=[]
for i in str1:
if len(i)>=2:
if i[0]=='A' or i[0]=='D' or i[0]=='W' or i[0]=='S':
if strnum(i[1:]) ==1:
list1.append((i[0],int(i[1:])))
# print(list1)
listbegin=[0,0]
for i in list1:
if i[0]=='A':
listbegin[0]= listbegin[0]-i[1]
if i[0]=='D':
listbegin[0] = listbegin[0] + i[1]
if i[0]=='W':
listbegin[1] = listbegin[1] + i[1]
if i[0]=='S':
listbegin[1] = listbegin[1] - i[1]
print(listbegin[0],end=',')
print(listbegin[1])