题解 | #坐标移动#

坐标移动

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

''' n = input().split(';')

合法坐标为A(或者D或者W或者S) + 数字(两位以内)

存在问题A7这样是合法的

new_list=[] for i in n: if len(i)==3 and i[1].isdigit() and i[2].isdigit(): new_list.append(i) if len(i)==2 and i[1].isdigit(): new_list.append(i[0]+'0'+i[1]) if len(new_list)==0: print('0,0') #print(new_list) # 定义一个元组?还是定义一个字典吧 dict1 ={'x':0,'y':0} for i in new_list: if i[0]=='A': #print(int(i[1]+i[2])) dict1['x']=dict1['x']-int(i[1]+i[2]) elif i[0]=='D': dict1['x']=dict1['x']+int(i[1]+i[2]) elif i[0]=='W': #print(int(i[1]+i[2])) dict1['y']=dict1['y']+int(i[1]+i[2]) elif i[0]=='S': dict1['y']=dict1['y']-int(i[1]+i[2]) else: pass print('{},{}'.format(dict1['x'],dict1['y'])) '''

这个解法4600多k,比上面好一点点

n = input().split(';') # 用分号分割,肯定是没问题的

print(n)

然后需要处理列表

dict2={'A':0,'W':0,'S':0,'D':0} for i in n: if len(i)==2 and i[0] in dict2 and i[1].isdigit(): dict2[i[0]] += int(i[1]) elif len(i)==3 and i[0] in dict2 and i[1].isdigit() and i[2].isdigit(): dict2[i[0]] += int(i[1]+i[2]) else: pass print('{},{}'.format((dict2['D']-dict2['A']),(dict2['W']-dict2['S'])))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务