第一题:

题目:

Polycarpus works as a DJ in the best Berland nightclub, and he often uses dubstep music in his performance. Recently, he has decided to take a couple of old songs and make dubstep remixes from them.Let's assume that a song consists of some number of words. To make the dubstep remix of this song, Polycarpus inserts a certain number of words "WUB" before the first word of the song (the number may be zero), after the last word (the number may be zero), and between words (at least one between any pair of neighbouring words), and then the boy glues together all the words, including "WUB", in one string and plays the song at the club.For example, a song with words "I AM X" can transform into a dubstep remix as "WUBWUBIWUBAMWUBWUBX" and cannot transform into "WUBWUBIAMWUBX".Recently, Jonny has heard Polycarpus's new dubstep track, but since he isn't into modern music, he decided to find out what was the initial song that Polycarpus remixed. Help Jonny restore the original song.

input:

Input
The input consists of a single non-empty string, consisting only of uppercase English letters, the string's length doesn't exceed 200 characters

output:

Output
Return the words of the initial song that Polycarpus used to make a dubsteb remix. Separate the words with a space.
Examples
song_decoder("WUBWEWUBAREWUBWUBTHEWUBCHAMPIONSWUBMYWUBFRIENDWUB")# =>  WE ARE THE CHAMPIONS MY FRIEND

题目意思就是:将所有的WUB替换成空格,然后将头尾的空格去掉

此时可以用正则表达式:

r'WUB+'就代表至少一个或者多个WUB

利用正则表达式的re.sub()函数

再利用strip()函数去掉字符串头尾的空格“ ”

代码如下:

import re
def song_decoder(song):song = re.sub(r'(WUB)+'," ",song)#利用正则表达式把WUB替换成空格,"(WUB)+"表示至少一个WUB或者多个WUBsong = song.strip(" ")#替换掉开头结尾的“ ”return song

补充:

排名第一的最简单的代码:

相当厉害,思路:字符串列表互相转换

(1)将字符串中的WUB都替换成空格

(2).split()就是将分割后的字符串变成列表

(3).join()再把列表转成字符串,以空格相连

总结

1.正则表达式
本题想考察的应该是正则表达式,找出字符串中要替换字符的规律,用正则表达式进行操作。关键是要字符的规律是什么?正则表达式可以应用在非常多的场合,判断是不是中国的手机号,判断是不是邮箱等等。用数字、字母和符号就能向计算机将规律表达出来。

2.字符串和列表的相互转换
str ————> list 用split()
list ————> str 用 ‘ ’.join
多多应用,熟练对象的互相转换。

第二题:

题目意思就是:只能四个数或者六个数,且不能有非数字

我的思路就是:

(1)先统计数字个数

(2)如果数字个数是4且字符串长度是4;或者数字个数是6且字符串长度是6;这两种情况返回True,其他情况返回False

def validate_pin(pin):digits=0for c in pin:if c.isdigit():digits=digits+1print(digits)if digits==4 and len(pin)==4:return Trueelif digits==6 and len(pin)==6:return Trueelse:return False

这里运用了python的函数:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

方法isalpha()判断是否英文字母;

方法isspace()判断是否空格;

方法isdigit()判断是否为数字。

还是很方便的。

但是下面我参考一下其他人写的精简代码:

查了一下:isdigit()就能判断字符串是否是数字,因此思路就是可以直接判断长度是否是是4或6,且是否都是数字

入坑codewars第五天-Dubstep、Regex validate PIN code相关推荐

  1. JanusGraph入坑笔记(五)- GraphTraversal (Vertex centric)

    目录 一.Terminal Step 二.Vertex Step (Vertex centric) 首先我们假定读者对Gremlin语句有一定的了解,那么Traversal就是对gremlin语句用j ...

  2. 入坑codewars

    毕业一年多了,总感觉自己啥也不会.零零散散看了各种书,总感觉差点什么,代码毕竟还是敲出来的.OJ虽然也好,但是我这种画面党毕竟比较难接受,而且自查能力比较一般,各种不通过调试起来比较麻烦.也用过一阵子 ...

  3. react把表格渲染好ui_react 入坑笔记(五) - 条件渲染和列表渲染

    条件渲染和列表渲染 一.条件渲染 条件渲染较简单,使用 JavaScript 操作符 if 或条件运算符来创建表示当前状态的元素,然后让 React 根据它们来更新 UI. 贴一个小栗子: funct ...

  4. 机器学习入坑指南(五):逻辑回归

    一.逻辑回归简介 逻辑回归用于解决**"二分类"**问题,比如判断明天是晴是雨,判断一封邮件是否是垃圾邮件,判断肿瘤是否是恶性的等等. 让我们举个例子来说明为什么这类问题适合用逻辑 ...

  5. DIY NAS服务器之OMV 5.6入坑指南(二)- 安装omv-extras插件

    系列文章目录 DIY NAS服务器之OMV 5.6入坑指南(一)-openmediavalut 5.6安装 DIY NAS服务器之OMV 5.6入坑指南(二)- 安装omv-extras插件 DIY ...

  6. 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源

    向AI转型的程序员都关注了这个号☝☝☝ 编译 | AI科技大本营(rgznai100) 参与 | suiling 此前营长曾发过一篇高阅读量.高转发率,高收藏量的文章<爆款 | Medium上6 ...

  7. 魔兽世界多玩服务器位置,选择服务器也有大学问?新手入坑《魔兽世界》该在哪里“扎根”...

    <魔兽世界:暗影国度>开服至今已经五个多月了,圈内圈外都在讨论新版本的话题,不少萌新与老玩家都选择了在这个版本中加入探索暗影界的行列.但面对茫茫多的区服,许多玩家都犯起了"选择困 ...

  8. java学习路线_java学习路线_我的入坑路

    java详细路线: 网上有很多学习路线,当初,我就是受这个学习路线的影响入坑的. 既然看到标题为我的java学习路,那就给大家看下我是怎么走过来的. 阶段一_JavaSE 入门推荐书:java开发实战 ...

  9. api 微信内置浏览器js_多端开发框架uni-app入坑指南,一套代码适用微信、头条等小程序...

    前言 hello 小伙伴们,现在我已经正式入坑 uni-app 了.uni-app 已经发布好几个月了,期间也是踩坑无数,但是官方秉承着不抛弃不放弃的精神,积极解决开发者的各种简单的.复杂的问题,在此 ...

  10. 乾坤大挪移——冒泡法排序,良心之作,拒绝入坑

    冒泡 冒泡,不管学什么语言,冒泡排序是必经的. 在学C语言时每次都要花好久来想,然后写程序,而且下次再写还是花好久才行,花了一个多小时,写了这个博客,希望入门的小白不要入坑了,好好看看,真的挺简单的. ...

最新文章

  1. 【老孙随笔】关羽和吕蒙——天才的失败
  2. POJ 2388 Who's in the Middle
  3. SQLServer异常捕获
  4. clickhouse常用sql
  5. 如何查看某个js 变量 runtime 类型
  6. 使用Specs2和客户端API 2.0进行富有表现力的JAX-RS集成测试
  7. mysql批量插入 增加参数_MySql 的批量操作,要加rewriteBatchedStatements参数
  8. SQL查询语句 group by后, 字符串合并
  9. 38动感菜单 38 jQuery And CSS Drop Down Multi Level Menu Solutions
  10. 算法练习题---回文数
  11. 关于火狐3,怎么会这样??
  12. 2012-8-1复选框全选
  13. 第31讲 聊天室程序
  14. 学一点Wi-Fi:WAPI
  15. 2021年全国省市区街道代码自动同步(包含解决方案)
  16. CentOS 7.5 安装Nginx教程
  17. Mac 苹果系统没有WIFI选项自检出现-1005D
  18. 2019年西工大附中分校民办小升初电脑随机派位录取结果
  19. 2022年湖北省光电子信息和生命健康领域科技计划成果路演征集条件以及申报时间流程汇总!
  20. 14. Working with Dates and Times in R

热门文章

  1. 易如意php,易如意网络验证系统1.1【开源】
  2. 模式识别—判别函数分类法(几何分类法)
  3. 旅游景区无线智能调频广播系统
  4. Miracast/WIDI浅谈
  5. 三星玄龙骑士与你一同欢度JDG俱乐部四周年,让游戏体验升级
  6. 【58沈剑架构系列】微服务架构多“微”才合适?
  7. stm32mp1 Cortex M4开发篇6:TIM定时器中断
  8. 概率论入门:概率分布
  9. 开发实例系列:一、舒尔特方格小游戏,付源码和APK
  10. Oracle书籍推荐MySQL书籍推荐