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

批处理编程挑战题“物以类聚”-将字母按大小写归并

[复制链接]
发表于 2017-4-11 18:46:14 | 显示全部楼层
回复 15# taofan712


    我不懂批处理。
发表于 2017-4-11 19:04:23 | 显示全部楼层
回复 16# codegay


    谢谢,因为经常见到你的id...现在才注意到你主要在python区发帖 ^_^
发表于 2017-4-11 20:19:32 | 显示全部楼层
回复 17# taofan712
去掉一个FOR
  1. for /l %%a in (0 1 14) do (
  2.     if not "!str:~%%a,1!"=="!str_bp:~%%a,1!" (set lc=!lc!!str:~%%a,1!) else ( set uc=!uc!!str_bp:~%%a,1!)
  3. )
复制代码

评分

参与人数 1技术 +1 收起 理由
taofan712 + 1 非常感谢

查看全部评分

发表于 2017-4-11 20:38:47 | 显示全部楼层
本帖最后由 523066680 于 2017-4-11 22:28 编辑

回复 14# codegay


    一行正则可以啊,加循环算不算... 只要有小写跟在大写后面,就反转,直到没有这种情况为止
  1. $s = "cDbEFa";
  2. while ( $s =~s/([A-Z])([a-z])/$2$1/) {}
  3. print $s
复制代码
 楼主| 发表于 2017-4-14 23:27:53 | 显示全部楼层
回复 19# 523066680
顾森,北京大学中国语言文学系应用语言专业07级本科生,Matrix67博客作者。Matrix67名字来源:“有一次申请邮箱,matrix这个id被人占用了,于是我就开始往后面加数字。”试过123,试过456,直到67才最终定下来。这就是Matrix67的来历,它也成为了顾森在网络这个虚拟世界上的大名。 2006年以文科生身份参加全国信息学奥林匹克竞赛获夏令营银牌,并保送至中文系应用语言专业。现任启明星学校初中奥数教师、果壳网“死理性派”栏目编辑。   大三由于忙于一些事物,休学一年。   个人主页:http://www.matrix67.com/blog/   果壳网主页http://www.guokr.com/i/0376718656/
发表于 2017-4-14 23:35:40 | 显示全部楼层
回复 20# happy886rr


    他从果壳离职都好几年了。
发表于 2017-4-14 23:38:48 | 显示全部楼层
回复 20# happy886rr


    我开始怀疑我为何要注册老刘1号
这个号还不是一样没被占用么……
不明白一年前的心理……
不过可能和那位有些雷同吧,
轻易不换昵称的我《<v<《
 楼主| 发表于 2017-4-14 23:39:50 | 显示全部楼层
本帖最后由 happy886rr 于 2017-4-15 00:14 编辑

回复 19# 523066680
酷语言分形
1.地毯(图片均为外链)

2.树

3.圆

.
.
请使用CLGO解释器3.0版运行。下载地址:http://www.bathome.net/thread-43178-1-1.html
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************

  4. /*
  5.   谢尔宾斯基地毯,酷码;
  6. */

  7. //入口函数
  8. TO MAIN
  9.         FOR :A 1 6
  10.                 CS
  11.                 WAIT 10
  12.                 MAKE :PENX=-330 :PENY=220
  13.                 TEXT 22 3 8 微软雅黑 Sierpinski-Level:{:A}
  14.                 MAKE :PENX=-200 :PENY=-200 :PENC=6 :PENW=10 :PENS=0
  15.                 XEBD 380 :A
  16.                 WAIT 500       
  17.         ]

  18. //谢尔宾斯基主循环
  19. TO XEBD :L :N
  20.         REPEAT 4
  21.                 FD :L
  22.                 RT 90
  23.         ]

  24.         XK :L
  25.         XEB :L/3 :N-1

  26. //地毯分循环
  27. TO XEB :L :N
  28.         IF :N=0
  29.                 STOP
  30.         ]

  31.         XK :L
  32.         XEB :L/3 :N-1

  33.         REPEAT 2
  34.                 PU
  35.                 FD :L
  36.                 PD
  37.                 XK :L
  38.                 XEB :L/3 :N-1
  39.         ]

  40.         REPEAT 2
  41.                 PU
  42.                 RT 90
  43.                 FD :L
  44.                 LT 90
  45.                 PD
  46.                 XK :L
  47.                 XEB :L/3 :N-1
  48.         ]

  49.         REPEAT 2
  50.                 PU
  51.                 BK :L
  52.                 PD
  53.                 XK :L
  54.                 XEB :L/3 :N-1
  55.         ]

  56.         PU
  57.         LT 90
  58.         FD :L
  59.         RT 90
  60.         PD
  61.         XK :L
  62.         XEB :L/3 :N-1

  63.         PU
  64.         LT 90
  65.         FD :L
  66.         RT 90
  67.         PD

  68. //细节补枝
  69. TO XK :L
  70.         PU
  71.         FD :L/3
  72.         RT 90
  73.         FD :L/3
  74.         LT 90
  75.         PD

  76.         REPEAT 4
  77.                 FD :L/3
  78.                 RT 90
  79.         ]

  80.         MAKE :PENC=RAND(15)+1
  81.         PU
  82.         BK :L/3
  83.         LT 90
  84.         FD :L/3
  85.         RT 90
  86.         PD
复制代码
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************

  4. //入口函数
  5. TO MAIN
  6.         FOR :A 2 12
  7.                 CS
  8.                 WAIT 10
  9.                 MAKE :PENX=-330 :PENY=220
  10.                 TEXT 22 3 8 微软雅黑 Sierpinski-Level:{:A}
  11.                 MAKE :PENX=0 :PENY=-200 :PENC=6 :PENW=2 :PENS=2       
  12.                 TREE 100 :A 20 0.75
  13.                 WAIT 50       
  14.         ]



  15. TO TREE :L :N :ANGEL :RATE
  16.         IF :N=0
  17.                 STOP
  18.         ]
  19.         FD :L
  20.         RT :ANGEL
  21.         TREE :L*:RATE :N-1 :ANGEL :RATE
  22.         LT :ANGEL*2
  23.         TREE :L*:RATE :N-1 :ANGEL :RATE
  24.         RT :ANGEL
  25.         BK :L
  26.         MAKE :PENC=RAND(15)+1
复制代码

评分

参与人数 2技术 +2 收起 理由
523066680 + 1 强!
老刘1号 + 1 厉害

查看全部评分

 楼主| 发表于 2017-4-14 23:47:25 | 显示全部楼层
回复 21# codegay
哦,我都不知道,不过他文章写得好。
 楼主| 发表于 2017-4-14 23:48:25 | 显示全部楼层
本帖最后由 happy886rr 于 2017-4-14 23:49 编辑

回复 22# 老刘
你这账号太嫩了,还是一号好点。对了,酷语言也能彩色地毯。
发表于 2017-4-14 23:50:10 | 显示全部楼层
回复 25# happy886rr


    嘿嘿,这个号就当小号了
发表于 2017-4-14 23:52:15 | 显示全部楼层
回复 25# happy886rr


    酷语言在绘图上果然不是一般的给力啊
已测试,很震撼
 楼主| 发表于 2017-4-15 00:12:42 | 显示全部楼层
回复 27# 老刘1号
只要代码巧妙,理论上没有画不出的图来,你就当他是控制台上的ppt吧。ICMD, Capis也能干这些,不过没酷语言绘图速度快。
发表于 2017-4-15 02:12:15 | 显示全部楼层
  1. echo bBAathToHOMmEe | sed -r ":a;s/([a-z])([A-Z])/\2\1/;ta"
复制代码

评分

参与人数 1技术 +1 收起 理由
codegay + 1 1

查看全部评分

发表于 2017-4-15 02:33:54 | 显示全部楼层
另类解:
  1. @echo off & setlocal enabledelayedexpansion
  2. %1 echo bBAathToHOMmEe | %1 cmd /c %0 : & exit /b

  3. set "list=#ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

  4. for /l %%a in () do (
  5.   choice /c %list:~1% /cs >nul 2>nul

  6.   for %%e in (!errorlevel!) do (
  7.     if %%e leq 26 (
  8.       set uppercase=!uppercase!!list:~%%e,1!
  9.     ) else if %%e leq 52 (
  10.       set lowercase=!lowercase!!list:~%%e,1!
  11.     ) else (
  12.       echo !lowercase!!uppercase!
  13.       pause
  14.       exit /b
  15.     )
  16.   )
  17. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 23:17 , Processed in 0.024936 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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