HJ17坐标移动

题目

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29?tpId=37\&tags=\&title=\&difficulty=0\&judgeStatus=0\&rp=1\&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37

思路

朴素遍历判断字符串是否合法,合法就对x,y进行加或减。

字符串处理的题目。感觉是个简单题,但是它标为中等了。

代码

bash 复制代码
import sys
# print(ord("0"))
# print(ord("9"))
# 48
# 57

def isdigit(v):
    # v: str
    # 两位以内
    for e in v:
        # valid [48,57]
        o = ord(e)
        if o < 48 or o > 57:
            return False
    return True

def valid(x_y):
    # x_y: str
    # [2,3] valid len
    if len(x_y) < 2 or len(x_y)>3:
        return False
    d, v = x_y[0], x_y[1:]
    if d not in "ADWS":
        return False
    if not isdigit(v):
        return False 
    return True 
def get_direction_value(x_y):
    d = x_y[0]
    v = int(x_y[1:])
    return d, v



for line in sys.stdin:
    a = line.split()[0].split(";")
    x, y = 0, 0
    for x_y in a:
        if not valid(x_y):
            continue
        d, v = get_direction_value(x_y)
        if d == "A":
            x -= v
        elif d == "D":
            x += v 
        elif d == "W":
            y += v
        else:
            y -= v 
    print("{},{}".format(x,y))
相关推荐
kyle~3 分钟前
虚拟仪器LabView(VI)
c++·python·ros·labview
风萧萧19996 分钟前
Java:PPT转图片
java·python·powerpoint
洲星河ZXH7 分钟前
Java,日期时间API
java·开发语言·python
秋邱10 分钟前
AR 定位技术深度解析:从 GPS 到视觉 SLAM 的轻量化实现
开发语言·前端·网络·人工智能·python·html·ar
Boop_wu11 分钟前
[Java EE] 多线程进阶(3) [线程安全集合类]
开发语言·windows·python
木棉知行者19 分钟前
(二)Python基本语句
开发语言·python
傻啦嘿哟20 分钟前
2026版基于Python的旅游景点推荐系统:技术解析与实现路径
开发语言·python
小陈phd21 分钟前
RAG从入门到精通(十四)——评估技术
人工智能·python
卡次卡次123 分钟前
注意点:多线程与多进程与在并行读-->并行cpu或者GPU处理--->并行写 的架构中,如何选择
linux·网络·python
一晌小贪欢24 分钟前
Python-12 Python生成器与yield:惰性求值的艺术
开发语言·python·python基础·python3·python小白·python生成器