码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 17---坐标移动


    描述

    开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

    输入:

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

    坐标之间以;分隔。

    非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。

    下面是一个简单的例子 如:

    A10;S20;W10;D30;X;A1A;B10A11;;A10;
    
    • 1

    处理过程:

    起点(0,0)

    • A10 = (-10,0)

    • S20 = (-10,-20)

    • W10 = (-10,-10)

    • D30 = (20,-10)

    • x = 无效

    • A1A = 无效

    • B10A11 = 无效

    • 一个空 不影响

    • A10 = (10,-10)

    结果 (10, -10)

    数据范围:每组输入的字符串长度满足 1 ≤ n ≤ 10000 1\le n \le 10000 1≤n≤10000 ,坐标保证满足 − 2 31 ≤ x , y ≤ 2 31 − 1 -2^{31} \le x,y \le 2^{31}-1 −231≤x,y≤231−1 且数字部分仅含正数。

    输入描述:

    一行字符串

    输出描述:

    最终坐标,以逗号分隔

    示例1

    输入:

    A10;S20;W10;D30;X;A1A;B10A11;;A10;
    
    • 1

    输出:

    10,-10
    
    • 1

    示例2

    输入:

    ABC;AKL;DA1;
    
    • 1

    输出:

    0,0
    
    • 1

    代码如下:

    command_list = input().split(";")
    origin = [0, 0]
    for command in command_list:
        if len(command) <= 3 and command[1:3].isdigit():
            if command.startswith("A"):
                origin[0] -= int(command[1:3])
            elif command.startswith("S"):
                origin[1] -= int(command[1:3])
            elif command.startswith("W"):
                origin[1] += int(command[1:3])
            elif command.startswith("D"):
                origin[0] += int(command[1:3])
            else:
                pass
                 
    print(origin[0], end=",")
    print(origin[1])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    如果大家觉得有用,就点个赞让更多的人看到吧~

  • 相关阅读:
    【开源】基于Vue.js的校园二手交易系统的设计和实现
    centos在docker中搭建靶场
    互联网Java工程师面试题·Java 面试篇·第三弹
    一步一步教你如何在Windows 10上使用Java,包括下载、安装和配置等
    【力扣·每日一题】1774. 最接近目标价格的甜点成本 (dfs搜索 动态规划 Go)
    想设计一个高并发的消息中间件前,先熟悉一下这些知识点
    MATLAB环境下基于离散小波变换的心电信号伪影去除及PQRST波检测
    微服务[Nacos]
    AD使用技巧2
    vuex、接口模块式开发
  • 原文地址:https://blog.csdn.net/u011699626/article/details/127131418
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号