题解 | #坐标移动#

坐标移动

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

# 这题比较麻烦的是处理输入
# 输入一行字符串,首先根据';'做切割, split
# 逐个判断每个一个元素是否有效:一个字母+2个以内的数字组成。
# 若有效,根据字母分别在坐标上进行不同的移动操作
# 输出坐标

s = input().split(';')
pos0 = [0,0]
direction = ['A','D','W','S']
num = [[-1,0],[1,0],[0,1],[0,-1]]
for each in s:
    if len(each)>0 and len(each)<4: 
        # 判断第一个字母的有效性
        flag1 = each[0] in direction
        # 判断2和3是否都是数字
        flag2 = each[1:].isdigit()
        if flag1 and flag2:
            index = direction.index(each[0])
            for i in range(2):
                pos0[i] += num[index][i] * int(each[1:])
print(','.join(map(str,pos0)))

全部评论

相关推荐

顺利毕业的鸽子:这个不一定,找hr跟进一下
点赞 评论 收藏
分享
10-21 16:54
门头沟学院 Java
后端转测开第一人:微服务没用 校招都不看微服务的 还有就是后端行情是这样的 找实习纯看运气 秋招更是吃运气和缘分 如果对代码没有极致的追求 可以转测开
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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