标题: [原创代码] Python取一列数中连续最长的奇数个数 [打印本页]
作者: 依山居 时间: 2015-11-21 08:21 标题: Python取一列数中连续最长的奇数个数
如果输入有两位数以上如47...那完蛋。- """
- python正则取一列数中连续最长的奇数个数.py
- 题目来源http://www.oschina.net/code/snippet_2519674_52255
- 大费周折地使用正则表达式来干这事~~
- 依山居 8:20 2015/11/21
- """
- a=[2,3,3,0,0,2,4,7,5,7]
- import re
- rn=[i for i in range(0,10) if (i%2!=0)] #rn=[1, 3, 5, 7, 9]
- res=str(rn).replace(",","")+"+" #res='[1 3 5 7 9]+'
- s=''.join([str(i) for i in a]) #s='2330024757'
- rec=re.compile(res)
- result=re.findall(rec,s) #result=['33', '757']
- print(max([len(s) for s in result]))
复制代码
作者: 依山居 时间: 2015-11-21 09:15
- """
- python算出连续是奇数最大次数.py
- 题目来源: http://www.oschina.net/code/snippet_2519674_52255
- 依山居 8:52 2015/11/21
- 不以结婚为目的地把程序拼成一行就是耍流氓
- 原理是偶数返回字符串0,奇数1,以0切分成,剩下的都为1的元素,再统计连续1最长的元素
- """
- a=[2,3,3,0,0,2,4,7,5,7,324,4234,345,353,5444,55,45,9,8,69,459,469,9]
- print(max([len(r) for r in (''.join([str(0) if (i%2 ==0) else str(1) for i in a]).split("0"))]))
复制代码
作者: 依山居 时间: 2015-11-25 20:27
- #模式匹配方法2 改进(= =折腾死了),可以处理两位及正负号的情况
- a=[2,3,3,0,0,2,4,7,5,7,24234,24234,5345,564,464,242,-34,-89,-67,-2341,999,9,9,99]
- import re
- a=' '.join([str(r) for r in a])
- a=re.sub(r"[-+]?\d*[13579]","1",a)
- a=re.sub(r"[-+]?\d*[24680]","0",a)
- a=a.replace(" ","").split("0")
- print(max([len(r) for r in a]))
复制代码
作者: 慕夜蓝化 时间: 2015-11-27 13:27
python如何够跳转指定磁盘?
跳转目录可以用os.chdir("/") 这种方式来实现。
但是跳转磁盘的话,却不可以,试了几次从C盘跳到D盘,都没有成功,不知道是哪里出了问题。
作者: pcl_test 时间: 2015-11-27 13:40
回复 4# 慕夜蓝化
os.chdir("D:\\")
作者: 慕夜蓝化 时间: 2015-11-27 13:43
回复 5# pcl_test
嗯嗯!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |