Python 第一式
@Codewars Python练习
question
** Dashatize it **
Given a number, return a string with dash'-'marks before and after each odd integer, but do not begin or end the string with a dash mark.
Ex:
dashatize(274) -> '2-7-4'
dashatize(6815) -> '68-1-5'
solutions
my solutions
def dashatize(num):
l2 = [ ]
if num == None:
return 'None'
else:
# 将字符串抓为数字存为数组l2
l = list(str(num))
for i in range(len(l)):
if l[i] != '-':
l[i] = int(l[i])
l2.append(l[i])
# 将分配字符和符号存为数组l3
l3 = [l2[0],]
for i in range(1, len(l2)):
if l2[i] % 2 == 0 and l2[i-1] % 2 != 0:
l3.append('-')
l3.append(l2[i])
elif l2[i] % 2 != 0:
l3.append('-')
l3.append(l2[i])
else:
l3.append(l2[i])
c = map(str,l3)
return "".join(c)
other solutions
import re
def dashatize(num):
try:
return ''.join(['-'+i+'-' if int(i)%2 else i for i in str(abs(num))]).replace('--','-').strip('-')
except:
return 'None'
[========]
- 学习re表达式
- 多认识库并导入使用
Python 第一式的更多相关文章
- Python 爬虫十六式 - 第一式:HTTP协议
HTTP:伟大而又无闻的协议 学习一时爽,一直学习一直爽! Hello,大家好啊,我是Connor,一个从无到有的技术小白.有的人一说什么是HTTP协议就犯愁,写东西的时候也没想过什么是HTTP协 ...
- Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery
PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽 Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...
- Python 爬虫十六式 - 第七式:正则的艺术
RE:用匹配来演绎编程的艺术 学习一时爽,一直学习一直爽 Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 pyquery 今天我们将迎来我们数据匹配部分的最后一位 ...
- Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤
BeautifulSoup 美味的汤 学习一时爽,一直学习一直爽! Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 Xpath 的使用方法.Xpath 我觉得还是 ...
- Python爬虫十六式 - 第四式: 使用Xpath提取网页内容
Xpath:简单易用的网页内容提取工具 学习一时爽,一直学习一直爽 ! Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 requests 的使用方法.到上节课为止, ...
- Python爬虫十六式 - 第三式:Requests的用法
Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽 Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...
- Python 爬虫十六式 - 第二式:urllib 与 urllib3
Python请求标准库 urllib 与 urllib3 学习一时爽,一直学习一直爽! 大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了什么是HTTP协议,那么这一次我们就要动 ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
随机推荐
- JavaBean转Map
1.需要的jar包 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava ...
- hive 使用beelin连接报错
1.在当前服务器启动hiveserver2服务,远程客户端通过beeline连接 报错信息如下: root@master:~# beeline -u jdbc:hive2//master:10000 ...
- hadoop(1)---hadoop的介绍和几种模式。
一.什么是hadoop? Hadoop软件库是一个开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集.它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储.库本身不是依靠 ...
- npm package.json配置整理
通过npm init 创建 package.json文件 参数: name:项目名字 version: 版本号 description: 项目介绍 main: 项目的入口文件 scripts: npm ...
- QML小例子【QML工程里信号与槽】
1.效果 代码参考B站视频:https://www.bilibili.com/video/av36584062 功能:点击左边,会发出信号,右边会有个颜色动画,然后计数+1 2.分析: 一共有两个对象 ...
- centOS 8 安装Hadoop
1.安装环境 本教程使用 CentOS 8 64位 作为系统环境,请自行安装系统. 本教程基于原生 Hadoop 2,在 Hadoop 2.8.5 版本下验证通过,可适合任何 Hadoop 2.x.y ...
- mysql stream read.
Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY) ...
- PAT 甲级 1058 A+B in Hogwarts (20 分) (简单题)
1058 A+B in Hogwarts (20 分) If you are a fan of Harry Potter, you would know the world of magic ha ...
- CYLTabBarController的简单使用
#pragma mark- 登录成功跳转至主页 -(void)jumpToMainVC { [UIApplication sharedApplication].statusBarStyle = UIS ...
- iOS的多线程技术
iOS的三种多线程技术 1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) 2.以下两点是苹果专门开发的“并发”技术,使得程序员可以不再去关心线程的具体使用问题 ØN ...