题解 | #坐标移动#

坐标移动

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

import re

str = input().split(";")
pattern = r"([A,S,D,W])(\d+)(?![a-zA-Z])"
x = 0
y = 0
for s in str:

    match = re.match(pattern, s)
    if match:
        if match.group(1) == "A":
            x = x - int(match.group(2))
        elif match.group(1) == "D":
            x = x + int(match.group(2))
        elif match.group(1) == "W":
            y = y + int(match.group(2))
        elif match.group(1) == "S":
            y = y - int(match.group(2))
print("{},{}".format(x, y))

全部评论
?![a-zA-Z] 和?!/[a-zA-Z] 区别:当前者没有/时会自动将不匹配的字符串整个排除,后者会将A1W 中单个W排除 剩下A1.
点赞 回复 分享
发布于 2023-03-28 23:11 四川

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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