找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17939|回复: 12

[原创代码] python版一行内容分行输出

[复制链接]
发表于 2015-11-5 07:44:37 | 显示全部楼层 |阅读模式
  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:13 | 显示全部楼层
  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)
复制代码
发表于 2015-11-5 08:40:15 | 显示全部楼层

来自隔壁的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");
复制代码

评分

参与人数 1技术 +1 收起 理由
依山居 + 1 →_→别骗我,这不是python。

查看全部评分

发表于 2015-11-5 09:24:22 | 显示全部楼层
本帖最后由 523066680 于 2015-11-5 09:26 编辑

本来是要认真学python的,但是实在不习惯。或者说已经习惯了 {} ; 遂放弃,转Perl作为常用脚本。
但是Perl也是有些不爽的,主要就是反反复复的 $  ->  # % @,换一个语言,哦,这些都不要了,
简直轻松。(Larry Wall誓要把整个键盘都充分利用……)

之前看了《程序员的呐喊》,人家推荐ruby。

我玩了这么久还是在脚本的世界里,已经被C艹党喷得无处藏身了。
 楼主| 发表于 2015-11-5 09:36:20 | 显示全部楼层
回复 4# 523066680


    用linus大神喷C草的话喷回去。
你做什么工作了?干开发吗?
发表于 2015-11-5 09:59:44 | 显示全部楼层
回复 5# 依山居

给亲戚打理生意,不让走。感觉跳了个大坑 =_=
 楼主| 发表于 2015-11-5 10:01:26 | 显示全部楼层
回复 6# 523066680


    给钱不多就走→_→
 楼主| 发表于 2015-11-5 10:09:25 | 显示全部楼层
本帖最后由 依山居 于 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)
复制代码
发表于 2015-11-5 16:16:55 | 显示全部楼层
回复 5# 依山居


    哈哈哈哈哈哈哈哈哈哈哈哈哈哈C艹,笑尿了
发表于 2015-11-5 17:04:25 | 显示全部楼层
回复 9# CrLf


    C# => C艹艹 => C++++
 楼主| 发表于 2015-11-5 20:58:30 | 显示全部楼层
一直不用用五笔打草字头,练一下。艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹
 楼主| 发表于 2015-11-5 20:59:55 | 显示全部楼层
aghh
艹c艹C艹C艹艹
 楼主| 发表于 2015-11-5 21:35:33 | 显示全部楼层
尴了个尬,刚发现第一种和第6种实际上是完全相同。
还是写错了的了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:09 , Processed in 0.011047 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表