python 坐标移动

2023-10-27

'''
题目描述
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,
从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。
输入:
合法坐标为A(或者D或者W或者S) + 数字(两位以内)
坐标之间以;分隔。
非法坐标点需要进行丢弃。如AA10;A1A;$%$;AD; 等。
'''
import sys
for line in sys.stdin:
    a = line.split()[0]
    direction=a.split(';')
    output=[0,0]
    direct={'A':[-1,0],'D':[1,0],'W':[0,1],'S':[0,-1]}
    number=['0','1','2','3','4','5','6','7','8','9']
    #print(direction)
    for ch in direction:
        if ch=='':
            continue
        if ch[0] in direct:
            if len(ch)==3 and ch[1] in number and ch[2] in number:
                dir=direct[ch[0]]#表示朝着某个方向移动了单位长度
                move_dir=list(map(lambda x,y:x*y,dir,[int(ch[1:])]*2))
                output=list(map(lambda x,y:x+y,output,move_dir))
            elif len(ch)==2 and ch[0] in direct and ch[1] in number:
                dir = direct[ch[0]]  # 表示朝着某个方向移动了单位长度
                move_dir = list(map(lambda x, y: x * y, dir, [int(ch[1:])] * 2))
                output = list(map(lambda x, y: x + y, output, move_dir))
    print(str(output[0])+','+str(output[1]))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 坐标移动 的相关文章

随机推荐

  • 机器视觉与计算机视觉的区别

    机器视觉 Machine Vision MV 与计算机视觉 Computer Vision CV 两者既有联系又有区别 机器视觉与计算机视觉有很多相似之处 在架构上都是基础层 技术层 应用层 并且两者的基本理论框架 底层理论 算法等是相似的
  • netstat命令详解

    点击上方蓝字 快速关注 netstat命令用于显示与IP TCP UDP和ICMP协议相关的统计数据 一般用于检验本机各端口的网络连接情况 netstat是在内核中访问网络及相关信息的程序 它能提供TCP连接 TCP和UDP监听 进程内存管
  • 如何使用VSCode开发Qt项目?

    如何使用VSCode开发Qt项目 为何使用VSCode开发Qt项目 因为Qt自带的编辑器丑丑丑 颜值时代还得是vscode大妹子 最终效果预览 前期准备 一 环境工具 Qt 5 15 2 含MingW64构建工具 Visual Studio
  • #define 定义符号常量方法

    程序设计预算法 1 第二周题目如下 对于半径为r的球 其体积的计算公式为V 4 3 r3 这里取 3 14 现给定r 求V 输入 输入为一个不超过100的非负实数 即球半径 类型为double 输出 输出一个实数 即球的体积 保留到小数点后
  • 为什么fork函数创建的进程不能用return函数结束进程

    在C语言中 fork 函数用于创建一个新的进程 它会复制当前进程的副本 并在父进程和子进程中返回不同的值 当调用fork 函数时 操作系统会创建一个子进程 该子进程是父进程的副本 父进程和子进程都从fork 函数返回 并且分别得到一个返回值
  • 按规则合并多个长度不同的数组

    现有多组整数数组 需要将他们合并成一个新的数组 合并规则 从每个数组中按顺序取出固定长度的内容合并到新的数组中 取完的内容要删除掉 如果改行不足固定长度或者已经为空 则直接取出剩余部分的内容放到新的数组中 继续下一行 输入描述 第一行是每次
  • 单隐层神经网络

    这是单隐层神经网络的一些知识 那么话不多说 开始学习 单隐层神经网络与Logistic回归 让我们来回顾一下Logistic回归的流程图 这是样本集的一次Logistic回归计算 这其实可以被抽象为一个神经元接收样本集x 然后输出预测集y帽
  • linux进程处于e,linux进程后台运行的几种方法--转载

    我们经常会碰到这样的问题 用 telnet ssh 登录了远程的 Linux 服务器 运行了一些耗时较长的任务 结果却由于网络的不稳定导致任务中途失败 如何让命令提交后不受本地关闭终端窗口 网络断开连接的干扰呢 下面举了一些例子 您可以针对
  • Windows的蓝色生死符

    破解Windows的蓝色生死符 为什么Windows 2K XP会蓝屏 NT内核的操作系统采用的是分层结构 层又称为模式 主要有用户层 User Mode 和内核层 Kernel Mode 我们可以通过下面这个形象的比喻来理解Windows
  • 人体姿态估计总结

    Flowing ConvNets for Human Pose Estimation in Videos 2015 年 flow convnet 将姿态估计看作是检测问题 输出是 heatmap 其创新点在于从卷积神经网络的 3 和 7 层
  • Mindshow+gpt辅助生成ppt

    步骤如下 先使用GPT生成需要的文本 再用Mindshow生成ppt MindShow 快速演示你的想法 gpt描述技巧 1 输入的问题 Prompt 越详细 具体 ChatGPT回复的内容相应地会越精准 2 有任何需求都可以描述进去 3
  • 2015年Spring会议季-DotNetFringe,AngleBrackets,BUILD等!

    What a lovely time we had at DotNetFringe last week here in my hometown of Portland Wonderful speakers great topics good
  • 史上最详细的typescript入门教程

    什么是Typescript TypeScript是JavaScript类型的超集 它可以编译成纯JavaScript TypeScript可以在任何浏览器 任何计算机和任何操作系统上运行 并且是开源的 配置Typescript环境 安装Ty
  • Vector 容器快速删除方法

    vector是一个向量容器 在C 开发中经常会使用到 vector本身自带的删除函数有 iterator erase iterator it 删除向量中迭代器指向元素 iterator erase iterator first iterat
  • transUnet

    TransUNet Transformers Make Strong Encoders for Medical Image Segmentation 背景 医学图像分割是开发医疗保健系统 尤其是疾病诊断和治疗计划 的必要前提 问题 U Ne
  • 谷歌发布 Chrome 85 稳定版,引入 PGO,页面加载速度提升 10%

    转自 开源中国 谷歌今日发布了最新稳定版 Chrome 85 此版本将页面加载速度提高了 10 并带来了许多标签页方面的改进 以及提供了一系列开发者功能 可直接使用 Chrome 内置更新程序升级或从 Chrome 官网下载 页面加载速度提
  • 万亿条数据查询毫秒级响应

    深入探讨如何在如此大量的数据上保持毫秒级的查询响应时间 以及 TiDB 是一个开源的 MySQL 兼容的 NewSQL 混合事务 分析处理 HTAP 数据库 如何为我们提供支持获得对我们数据的实时洞察 系统架构要求 知乎的 Post Fee
  • 我把海外抖音TikTok当副业,一周赚了7000块:想给有梦想的人提个醒!

    前2天 月薪1万与10万的差距上了热搜 迅速达到了3 7亿的阅读量 文章指出 在上海 月工资1万的人 房租2500 吃饭3000 各种杂七杂八费用3000 一个月只剩1500 月工资10万的人 在这个生活成本的基础上 哪怕乘以3 也不过25
  • 计算机计算涨跌的公式,计算股票涨跌的神器—四段五点模型计算器

    很多朋友都很想知道自己手中的股票会涨到哪里 知道了自己手中的股票能够涨到哪里 也就知道了在什么价位卖出 卖出个好价钱 下面我就给朋友们介绍一种计算器 四段五点计算器 一 四段五点的概念 所谓的四段五点是指股票在上涨的过程中 一般会经过SH段
  • python 坐标移动

    题目描述 开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 从 0 0 点开始移动 从输入字符串里面读取一些坐标 并将最终输入结果输出到输出文件里面 输入 合法坐标为A 或者D或者W或者S 数字 两位以内