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)相关推荐

  1. 【Python CheckiO 题解】Between Markers

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  2. 【Python CheckiO 题解】First Word (simplified)

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  3. Python CheckiO 题解系列 丨 博客目录索引

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本题解系列主要记录自己在用 Python 闯关时的做 ...

  4. 【Python CheckiO 题解】Army Battles

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  5. 【Python CheckiO 题解】Date and Time Converter

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  6. 【Python CheckiO 题解】Largest Rectangle in a Histogram

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  7. 【Python CheckiO 题解】Roman Numerals

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  8. 【Python CheckiO 题解】Probably Dice

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  9. 【Python CheckiO 题解】Multicolored Lamp

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

最新文章

  1. cmd中实现scott的解锁和开锁以及授予dba权限
  2. App.Config详解
  3. Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明
  4. jq遍历子元素_leetcode第196周赛第三题统计全 1 子矩形
  5. vux Cell组件
  6. 南邮java实验报告,南邮微机原理实验报告精选.doc
  7. bash知识点:文件测试
  8. 详解spring boot mybatis全注解化
  9. python发钉钉消息_Python调用钉钉机器人推送消息
  10. java lock unlock_【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
  11. 如何使用git把本地代码上传(更新)到github上
  12. LitJson的使用
  13. 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)
  14. 锁定计算机后 360wifi,电脑中360路由器WiFi密码忘记了的四种解决方法
  15. 2021申请邓白氏编码最新操作手册
  16. Win7下chm文件打不开的解决办法
  17. android inflate 方法,Android LayoutInflater中 Inflate()方法应用
  18. 随机森林(Random Forest)
  19. XP计算机里改单核,如何将双核CPU改成单核CPU 双核改单核教程
  20. the connection to the server was unsuccessful(file ///android_asset/www/index.html)

热门文章

  1. LeetCode OJ 160. Intersection of Two Linked Lists
  2. LR通过SiteScope监控mysql
  3. web通信 长连接、长轮询
  4. 引路蜂地图API:Gis.Navigation包定义
  5. mysql参数化查询为什么可以实现_为什么参数化SQL查询可以防止SQL注入?
  6. Eclipse查找文件存储路径
  7. RT-Thread在github上的教程中图片显示不出来问题的解决方法
  8. python中面向对象_简述Python中的面向对象编程的概念
  9. html的div显示到最左侧,HTML/CSS:如何淡化div的左右边缘?
  10. 3.6.4python下载安装教程_python 3.6.4安装教程