【Python CheckiO 题解】Between Markers (simplified)
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。
CheckiO 官网:https://checkio.org/
我的 CheckiO 主页:https://py.checkio.org/user/TRHX/
CheckiO 题解系列专栏:https://itrhx.blog.csdn.net/category_9536424.html
CheckiO 所有题解源代码:https://github.com/TRHX/Python-CheckiO-Exercise
题目描述
【Between Markers (simplified)】:这个是Between Markers任务的简化版本,给定一个字符串和两个标记字符(第一个和最后一个标记),找到两个标记符之间包含的子字符串。初始标记和结束标记始终不同,初始标记和结束标记的大小始终为1个字符,初始标记和结束标记始终存在于字符串中。
【链接】:https://py.checkio.org/mission/between-markers-simplified/
【输入】:三个参数,都是字符串,第二个和第三个参数是初始标记和结束标记
【输出】:字符串
【范例】:
between_markers('What is >apple<', '>', '<') == 'apple'
解题思路
利用 find()
方法查找原字符串中是否有标记字符,注意,由于 find()
方法会返回字符串出现的索引位置,而要提取标记字符之间的字符串,初始标记的位置就要加上它的长度,本题中,其长度始终为 1,所以只加 1 即可,最后利用切片,返回初始标记和结束标记之间的字符串即可。
代码实现
def between_markers(text: str, begin: str, end: str) -> str:"""returns substring between two given markers"""start = text.find(begin) + 1finish = text.find(end)return text[start:finish]if __name__ == '__main__':print('Example:')print(between_markers('What is >apple<', '>', '<'))# These "asserts" are used for self-checking and not for testingassert between_markers('What is >apple<', '>', '<') == "apple"assert between_markers('What is [apple]', '[', ']') == "apple"assert between_markers('What is ><', '>', '<') == ""assert between_markers('>apple<', '>', '<') == "apple"print('Wow, you are doing pretty good. Time to check it!')
大神解答
def between_markers(text: str, first: str, second: str) -> str:"""returns substring between two given markers"""return text[text.find(first) + 1: text.find(second)]
【Python CheckiO 题解】Between Markers (simplified)相关推荐
- 【Python CheckiO 题解】Between Markers
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】First Word (simplified)
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- Python CheckiO 题解系列 丨 博客目录索引
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本题解系列主要记录自己在用 Python 闯关时的做 ...
- 【Python CheckiO 题解】Army Battles
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Date and Time Converter
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Largest Rectangle in a Histogram
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Roman Numerals
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Probably Dice
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Multicolored Lamp
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
最新文章
- cmd中实现scott的解锁和开锁以及授予dba权限
- App.Config详解
- Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明
- jq遍历子元素_leetcode第196周赛第三题统计全 1 子矩形
- vux Cell组件
- 南邮java实验报告,南邮微机原理实验报告精选.doc
- bash知识点:文件测试
- 详解spring boot mybatis全注解化
- python发钉钉消息_Python调用钉钉机器人推送消息
- java lock unlock_【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
- 如何使用git把本地代码上传(更新)到github上
- LitJson的使用
- 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)
- 锁定计算机后 360wifi,电脑中360路由器WiFi密码忘记了的四种解决方法
- 2021申请邓白氏编码最新操作手册
- Win7下chm文件打不开的解决办法
- android inflate 方法,Android LayoutInflater中 Inflate()方法应用
- 随机森林(Random Forest)
- XP计算机里改单核,如何将双核CPU改成单核CPU 双核改单核教程
- the connection to the server was unsuccessful(file ///android_asset/www/index.html)
热门文章
- LeetCode OJ 160. Intersection of Two Linked Lists
- LR通过SiteScope监控mysql
- web通信 长连接、长轮询
- 引路蜂地图API:Gis.Navigation包定义
- mysql参数化查询为什么可以实现_为什么参数化SQL查询可以防止SQL注入?
- Eclipse查找文件存储路径
- RT-Thread在github上的教程中图片显示不出来问题的解决方法
- python中面向对象_简述Python中的面向对象编程的概念
- html的div显示到最左侧,HTML/CSS:如何淡化div的左右边缘?
- 3.6.4python下载安装教程_python 3.6.4安装教程