华为机考入门python3--(17)牛客17- 坐标移动

分类:字符串

知识点:

  1. 正则匹配       re.match(pattern, move)

  2. 格式字符串,可以在字符串中直接引用变量    f"{x},{y}"

题目来自【牛客】

图片


import re  def is_valid_coordinate(move):  # 使用正则表达式验证移动是否合法  # ^: 表示字符串的开始。# [ADWS]: 匹配一个字符,该字符必须是 A、D、W 或 S 中的一个。# [0-9]{1,2}: 匹配 1 到 2 个数字。[0-9] 表示匹配任意一个数字,{1,2} 表示前面的数字可以重复 1 到 2 次。# $: 表示字符串的结束。pattern = r'^[ADWS][0-9]{1,2}$' # 返回匹配则返回<re.Match object; span=(0, 3), match='A12'> # 没有则返回Nonereturn re.match(pattern, move) is not None  def calculate_coordinates(input_string):  # 初始化坐标为原点  x, y = 0, 0  # 遍历输入字符串中的每个字符  moves = input_string.split(';')  for move in moves:  # 检查移动是否有效  if is_valid_coordinate(move):  # 获取移动方向和距离  direction = move[0]  distance = int(move[1:])  # 距离为输入字符串的剩余部分,不需要额外验证  # 根据方向移动对应的距离  if direction == 'A':  # 向左移动  x -= distance  elif direction == 'D':  # 向右移动  x += distance  elif direction == 'W':  # 向上移动  y += distance  elif direction == 'S':  # 向下移动  y -= distance  else:  # 如果移动无效,忽略它  pass  return f"{x},{y}"  # 返回最终的坐标,格式化为字符串  # input_string = "A10;S20;W10;D30;X;A1A;B10A11;;A10;"  
input_string = input().strip()
output_string = calculate_coordinates(input_string)  
print(output_string)  # 输出:10, -10

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

施耐德 PLC 及模块 ModbusTCP 通信配置方法

1. 通过【I/O扫描器】服务进行读写 相关文档&#xff1a;各模块说明书仅 NOE 网卡模块、部分 CPU 自带的网口支持 优点&#xff1a;不需要额外编程&#xff0c;系统自动周期型读写数据缺点&#xff1a;扫描周期不定&#xff0c;程序无法控制数据刷新的时序 2. 通过内部程序…

java扩展jmeter依赖

前置条件 创建一个maven项目&#xff0c; 引入依赖 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>3.2</version> </dependency> <dependency><groupId&g…

NIO学习

文章目录 前言一、主要模块二、使用步骤1.服务器端2.客户端 三、NIO零拷贝(推荐)四、NIO另一种copy总结 前言 NIO是JDK1.4版本带来的功能,区别于以往的BIO编程,同步非阻塞极大的节省资源开销&#xff0c;避免了线程切换和上下文切换带来的资源浪费。 一、主要模块 Selector&a…

【Linux学习】Linux编辑器-vim使用

这里写目录标题 1. &#x1f320;vim的基本概念&#x1f320;2. vim的基本操作&#x1f320;3.vim异常处理&#x1f320;4. vim正常模式的相关命令&#x1f320;5. vim末&#xff08;底&#xff09;行模式相关命令 vi/vim都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本…

达梦数据库一体机树立金融解决方案标杆

达梦数据库一体机自问世以来&#xff0c;获得众多行业用户的高度关注&#xff0c;并率先在金融行业吹响冲锋号角&#xff0c;实现多个重大项目的落地应用。近日&#xff0c;珠海华润银行股份有限公司基于达梦数据库一体机 I 系列的《数据库一体机银行多业务系统集中部署解决方案…

(保姆级教学)跨站请求伪造漏洞

1. CSRF漏洞 CSRF&#xff08;Cross-site request forgery&#xff09;跨站请求伪造&#xff0c;也被称为One Click Attack 或者Session Riding&#xff0c;通常缩写为CSRF或者XSRF&#xff0c;是一种对网站的恶意利用。尽管听起来像跨站脚本&#xff08;XSS&#xff09;&…

运筹优化领域内精确算法、启发式算法和深度强化学习算法的优劣

在运筹优化领域内&#xff0c;精确算法、启发式算法和深度强化学习算法各有优劣。以下是它们的主要特点和比较&#xff1a; 精确算法&#xff1a; 优点&#xff1a; 能够保证找到问题的最优解或最优解的近似解。在问题规模较小且具有明确的数学模型时&#xff0c;通常具有较高的…

数据结构和算法:动态规划

初探动态规划 动态规划&#xff08;dynamic programming&#xff09;是一个重要的算法范式&#xff0c;它将一个问题分解为一系列更小的子问题&#xff0c;并通过存储子问题的解来避免重复计算&#xff0c;从而大幅提升时间效率。 例题&#xff1a;爬楼梯 给定一个共有 &…

深入理解CSS3 box-sizing属性:重塑盒子模型,精准控制元素尺寸

在CSS世界中&#xff0c;理解并熟练运用box-sizing属性是构建精准布局的关键一步。这个属性允许我们重新定义元素的尺寸计算方式&#xff0c;从而更好地控制内容、内边距和边框对元素总尺寸的影响。本文将深入剖析box-sizing属性的工作原理、不同取值及其应用场景&#xff0c;帮…

电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型

文章目录 电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型前言理论推导仿真验证总结参考文献 电机控制专题(三)——Sensorless之有功磁链Active Flux电压模型 前言 总结下电机控制中的有功磁链Active Flux(AF)模型。 纯小白&#xff0c;如有不当&#xff0c;轻…

java分布式项目需要进行注意的事项(代码层面)

在分布式系统中&#xff0c;使用主键自增会引发一系列问题。以下是几个主要原因&#xff1a; 高并发冲突&#xff1a;在分布式系统中&#xff0c;多个节点同时生成主键时会产生冲突。因为每个节点都有自己的自增序列&#xff0c;同时生成的主键可能会有重复。 单点故障&#xf…

OpenHarmony实战开发-Web自定义长按菜单案例。

介绍 本示例介绍了给Webview页面中可点击元素&#xff08;超链接/图片&#xff09;绑定长按/鼠标右击时的自定义菜单的方案。 效果预览图 使用说明 长按Web页面中的图片或者链接元素&#xff0c;弹出自定义的Menu菜单&#xff0c;创建自定义的操作&#xff0c;如复制图片、使…

【NLP练习】使用Word2Vec实现文本分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、数据预处理 1. 任务说明 本次加入Word2Vec使用PyTorch实现中文文本分类&#xff0c;Word2Vec则是其中的一种词嵌入方法&#xff0c;是一种用于生成词向量…

2001-2022上市公司数字化转型数据(含原始数据+计算代码+计算结果)

2001-2022上市公司数字化转型数据&#xff08;含原始数据计算代码计算结果&#xff09; 1、时间&#xff1a;2001-2022年 2、来源&#xff1a;原始数据整理自wind 3、指标&#xff1a;证券代码、证券简称、统计截止日期、是否发生ST或*ST或PT、是否发生暂停上市、行业代码、…

简单了解Element Plus

请简述Element Plus是什么&#xff0c;以及它与其他UI框架的主要区别是什么&#xff1f; 答案&#xff1a; Element Plus是一套为开发者、设计师和产品经理准备的基于Vue 3.0的桌面端组件库。它与其他UI框架的主要区别在于其高度的可定制性、丰富的组件库以及良好的性能表现。…

戴尔电脑怎么关闭开机密码?

1.同时按键盘上是“window键”&#xff08;一般是键盘最下面一排第二个&#xff09;和“R键“&#xff0c;并在弹出的窗口输入“netplwiz”然后确定。 2.然后会弹出的“用户账户”窗口&#xff0c;接下来取消勾选“要使用本计算机&#xff0c;用户必须输入用户名和密码” 3.上面…

MySQL之explain执行计划

一、explain作用 MySQL的EXPLAIN命令是开发者经常使用的一个强大的分析工具&#xff0c;帮助开发者了解查询的性能瓶颈和优化方向。 二、使用方法 只需要在要执行的sql语句前加explain关键字即可&#xff0c;如下 mysql> explain select * from user where id >60; -…

每日算法练习(1)

开一个新坑&#xff0c;记录下自己每天的算法练习&#xff0c;希望自己通过1个多月的学习&#xff0c;能够成为算法大神。 下面正式开始新坑。 两个数组的交集 这是牛客上的题&#xff0c;根据题意&#xff0c;我们有多种解法&#xff0c;这题用哈希比较好写。我们可以弄一个…

1.8、数位DP(算法提高课)

一、数字游戏 题目链接&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1588 题意&#xff1a;求给定区间【a&#xff0c;b】中的不降数的个数&#xff0c;不降数的定义为从左到右各位数字成小于等于的关系。 思路&#xff1a;首先预处理出来 f[i][j] 为一共有…

pytorch环境配置踩坑记录

一、问题1 1.执行命令 conda create -n pytorch python3.62.报错如下 Solving environment: failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/msys2/noarch/repodata.json.bz2> Elapsed: -An HTTP error occurred when tr…