Board logo

标题: [原创代码] python版一行内容分行输出 [打印本页]

作者: 依山居    时间: 2015-11-5 07:44     标题: python版一行内容分行输出

  1. #python版一行内容分行输出
  2. #依山居 18:14 2015/11/4
  3. #题目来源 http://www.bathome.net/thread-1454-1-1.html
  4. a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九"
  5. """
  6. 分行输出为:
  7. abcdefghi
  8. ABCDEFGHI
  9. 123456789
  10. 一二三四五六七八九
  11. """
  12. print("方法一:===============")
  13. for r in range(0,4):
  14.     t=''
  15.     for s in range(0+r,len(a),4):
  16.         t=t+a[s]
  17.     print(t)
  18. print("方法二:===============")
  19. #=_=这个方法会不会看起来比较傻?
  20. l=list(a)
  21. ta=tb=tc=td=''
  22. for r in range(0,9):
  23.     for s in range(0,4):
  24.         if s==0:
  25.             ta=ta+l.pop(0)
  26.         if s==1:
  27.             tb=tb+l.pop(0)
  28.         if s==2:
  29.             tc=tc+l.pop(0)
  30.         if s==3:
  31.             td=td+l.pop(0)
  32. print(ta)
  33. print(tb)
  34. print(tc)
  35. print(td)
  36.       
  37. print("方法3:回字有N种写法===============")
  38. import string
  39. ta=tb=tc=td=''
  40. la=string.ascii_lowercase
  41. ua=string.ascii_uppercase
  42. nb=string.digits
  43. ub="一二三四五六七八九"
  44. for s in a:
  45.     if s in la:
  46.         ta=ta+s
  47.     if s in ua:
  48.         tb=tb+s
  49.     if s in nb:
  50.         tc=tc+s
  51.     if s in ub:
  52.         td=td+s
  53. print(ta)
  54. print(tb)
  55. print(tc)
  56. print(td)
  57. print("方法4:回字有一种叫做正则的写法===============")
  58. import re
  59. #这正则写法感觉不科学,暂时没有好的想法
  60. reg=["[a-z]","[A-Z]","\d","[^\da-zA-Z]"]
  61. for s in reg:   
  62.     rega=re.compile(s)
  63.     s=re.findall(rega,a)
  64.     print("".join(s))
  65. """
  66. 输出:
  67. 方法一:===============
  68. abcdefghi
  69. ABCDEFGHI
  70. 123456789
  71. 一二三四五六七八九
  72. 方法二:===============
  73. abcdefghi
  74. ABCDEFGHI
  75. 123456789
  76. 一二三四五六七八九
  77. 方法3:回字有N种写法===============
  78. abcdefghi
  79. ABCDEFGHI
  80. 123456789
  81. 一二三四五六七八九
  82. 方法4:回字有一种叫做正则的写法===============
  83. abcdefghi
  84. ABCDEFGHI
  85. 123456789
  86. 一二三四五六七八九
  87. """
复制代码

作者: 依山居    时间: 2015-11-5 08:24

  1. print("=======================论回字的第五种写法============")
  2. l=list(a)
  3. ta=tb=tc=td=''
  4. for r in range(0,9):
  5.     ta+=l.pop(0)
  6.     tb+=l.pop(0)
  7.     tc+=l.pop(0)
  8.     td+=l.pop(0)
  9. print(ta)
  10. print(tb)
  11. print(tc)
  12. print(td)
复制代码

作者: 523066680    时间: 2015-11-5 08:40     标题: 来自隔壁的Perl

本帖最后由 523066680 于 2015-11-5 09:09 编辑
  1. use utf8;
  2. binmode(STDOUT, ":encoding(gbk)");
  3. my $a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九";
  4. my @arr;
  5. my $i = 0;
  6. grep { $arr[($i++)%4].=$_ } split("", $a);
  7. printf join("\n", @arr);
复制代码
abcdefghi
ABCDEFGHI
123456789

一二三四五六七八九
  1. my $s="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九";
  2. print ($s =~ /\d/g,     "\n");
  3. print ($s =~ /[a-z]/g,  "\n");
  4. print ($s =~ /[A-Z]/g,  "\n");
  5. 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 编辑
  1. print("==========试试回字的第六种写法好不好使==========")
  2. t=''
  3. lena=len(a)
  4. for s in range(0,4):
  5.     t=''   
  6.     for l in range(s,lena,4):
  7.         t+=a[l]
  8.     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