题解 | #坐标移动#

坐标移动

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

s = input() #接收输入的一段字符串
x = s.split(';') #按照分号分割字符串,返回列表
pos=[0,0] #记录坐标
for i in range(len(x)):
    if x[i] and x[i][0] in ['A', 'S', 'W', 'D'] and x[i][1:].isdigit():
        if x[i][0]=='A':
            pos[0]-=int(x[i][1:])
        if x[i][0]=='S':
            pos[1]-=int(x[i][1:])
        if x[i][0]=='W':
            pos[1]+=int(x[i][1:])
        if x[i][0]=='D':
            pos[0]+=int(x[i][1:])
print(str(pos[0])+','+str(pos[1]))

看了下题解里大家的解法,个人感觉我这种算是比较简单易懂的,这段代码里最核心的就是这个if判断语句,千万要注意如果最后一个输入是分号,那么提取出来的就是空字符串,这个时候x[i][0]会显示超出索引范围,所以一定要添加判断x[i]是不是空字符串

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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