![Board logo](images/default/logo.gif)
标题: [原创代码] python版一行内容分行输出 [打印本页]
作者: 依山居 时间: 2015-11-5 07:44 标题: python版一行内容分行输出
- #python版一行内容分行输出
- #依山居 18:14 2015/11/4
- #题目来源 http://www.bathome.net/thread-1454-1-1.html
-
- a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九"
- """
- 分行输出为:
- abcdefghi
- ABCDEFGHI
- 123456789
- 一二三四五六七八九
- """
-
- print("方法一:===============")
- for r in range(0,4):
- t=''
- for s in range(0+r,len(a),4):
- t=t+a[s]
- print(t)
-
- print("方法二:===============")
-
- #=_=这个方法会不会看起来比较傻?
- l=list(a)
- ta=tb=tc=td=''
- for r in range(0,9):
- for s in range(0,4):
- if s==0:
- ta=ta+l.pop(0)
- if s==1:
- tb=tb+l.pop(0)
- if s==2:
- tc=tc+l.pop(0)
- if s==3:
- td=td+l.pop(0)
- print(ta)
- print(tb)
- print(tc)
- print(td)
-
- print("方法3:回字有N种写法===============")
- import string
- ta=tb=tc=td=''
- la=string.ascii_lowercase
- ua=string.ascii_uppercase
- nb=string.digits
- ub="一二三四五六七八九"
- for s in a:
- if s in la:
- ta=ta+s
- if s in ua:
- tb=tb+s
- if s in nb:
- tc=tc+s
- if s in ub:
- td=td+s
- print(ta)
- print(tb)
- print(tc)
- print(td)
-
- print("方法4:回字有一种叫做正则的写法===============")
- import re
- #这正则写法感觉不科学,暂时没有好的想法
- reg=["[a-z]","[A-Z]","\d","[^\da-zA-Z]"]
- for s in reg:
- rega=re.compile(s)
- s=re.findall(rega,a)
- print("".join(s))
-
- """
- 输出:
- 方法一:===============
- abcdefghi
- ABCDEFGHI
- 123456789
- 一二三四五六七八九
- 方法二:===============
- abcdefghi
- ABCDEFGHI
- 123456789
- 一二三四五六七八九
- 方法3:回字有N种写法===============
- abcdefghi
- ABCDEFGHI
- 123456789
- 一二三四五六七八九
- 方法4:回字有一种叫做正则的写法===============
- abcdefghi
- ABCDEFGHI
- 123456789
- 一二三四五六七八九
- """
复制代码
作者: 依山居 时间: 2015-11-5 08:24
- print("=======================论回字的第五种写法============")
- l=list(a)
- ta=tb=tc=td=''
- for r in range(0,9):
- ta+=l.pop(0)
- tb+=l.pop(0)
- tc+=l.pop(0)
- td+=l.pop(0)
- print(ta)
- print(tb)
- print(tc)
- print(td)
复制代码
作者: 523066680 时间: 2015-11-5 08:40 标题: 来自隔壁的Perl
本帖最后由 523066680 于 2015-11-5 09:09 编辑
- use utf8;
- binmode(STDOUT, ":encoding(gbk)");
-
- my $a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九";
- my @arr;
- my $i = 0;
- grep { $arr[($i++)%4].=$_ } split("", $a);
- printf join("\n", @arr);
复制代码
abcdefghi
ABCDEFGHI
123456789
一二三四五六七八九- my $s="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九";
- print ($s =~ /\d/g, "\n");
- print ($s =~ /[a-z]/g, "\n");
- print ($s =~ /[A-Z]/g, "\n");
- print ($s =~ /\p{han}/g,"\n");
复制代码
作者: 523066680 时间: 2015-11-5 09:24
本帖最后由 523066680 于 2015-11-5 09:26 编辑
本来是要认真学python的,但是实在不习惯。或者说已经习惯了 {} ; 遂放弃,转Perl作为常用脚本。
但是Perl也是有些不爽的,主要就是反反复复的 $ -> # % @,换一个语言,哦,这些都不要了,
简直轻松。(Larry Wall誓要把整个键盘都充分利用……)
之前看了《程序员的呐喊》,人家推荐ruby。
我玩了这么久还是在脚本的世界里,已经被C艹党喷得无处藏身了。
作者: 依山居 时间: 2015-11-5 09:36
回复 4# 523066680
用linus大神喷C草的话喷回去。
你做什么工作了?干开发吗?
作者: 523066680 时间: 2015-11-5 09:59
回复 5# 依山居
给亲戚打理生意,不让走。感觉跳了个大坑 =_=
作者: 依山居 时间: 2015-11-5 10:01
回复 6# 523066680
给钱不多就走→_→
作者: 依山居 时间: 2015-11-5 10:09
本帖最后由 依山居 于 2015-11-5 10:23 编辑
- print("==========试试回字的第六种写法好不好使==========")
-
- t=''
- lena=len(a)
- for s in range(0,4):
- t=''
- for l in range(s,lena,4):
- t+=a[l]
- print(t)
复制代码
作者: CrLf 时间: 2015-11-5 16:16
回复 5# 依山居
哈哈哈哈哈哈哈哈哈哈哈哈哈哈C艹,笑尿了
作者: 523066680 时间: 2015-11-5 17:04
回复 9# CrLf
C# => C艹艹 => C++++
作者: 依山居 时间: 2015-11-5 20:58
一直不用用五笔打草字头,练一下。艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹
作者: 依山居 时间: 2015-11-5 20:59
aghh
艹c艹C艹C艹艹
作者: 依山居 时间: 2015-11-5 21:35
尴了个尬,刚发现第一种和第6种实际上是完全相同。
还是写错了的了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |