|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『楼 主』:
写着玩儿的东西——看看你的名字代表什么武器(武功)
在网上看都这样的东西:
Quote: | 看看你的姓名代表什么武器
把自己的名字,例如:“王二小”=“WEX”=“九天丧门锤”
附:
1、从姓氏开始找,再往下找名。若是只有两个字的,便从“姓氏”与“结字”中各找一个。
2、若是三个字的,便先从“姓氏”找起,再往下找两个名;姓名后两个字是重复的就在“结字”中取一。
3、复姓者在姓氏中取2字。
姓氏:
A:奇门 B:玄天 C:日月 D:毒龙 E:夜叉 F:葵花 G:纯阳 H:玉女
J:六合 K:天罡 L:天羽 M:八卦 N:太乙 O:落英 P:鹰蛇 Q:太极
R:回风 S:混沌 T:乾坤 W:九天 X:神门 Y:百变 Z:逍遥
中字:
A:拂穴 B:降魔 C:霹雳 D:阴阳 E:丧门 F:真气 G:修罗 H:碎石
J:九九 K:绵 L:无痕 M:两仪 N:五神 O:穿云 P:破玉 Q:奇
R:迅雷 S:伏魔 T:游身 W:连环 X:无形 Y:神 Z:无双
结字:
A:钉 B:棒 C:掌 D:刀 E:拳 F:掌 G:爪 H:指
J:斧 K:钩 L:棍 M:杖 N:鞭 O:剑 P:镖 Q:索
R:刀 S:拳 T:手 W:功 X:锤 Y:枪 Z:剑 |
|
随便写了下代码,本来可以优化一下,提高效率的,不过是随意写的,也就不再费劲修改了。没有什么实际应用价值,但是可以帮助新手理解一下for、if的嵌套应用。
@echo off&setlocal ENABLEDELAYEDEXPANSION
echo 请输入你名字的拼音字头缩写,例如:张三 —— ZS
set/p xingming=
set "var1=%xingming:~0,1%"
set "var2=%xingming:~1,1%"
set "var3=%xingming:~2,1%" 2>nul
for /f %%i in ('findstr /i /c:"姓氏%var1%" "%~f0"') do (
set str1=%%i
set str1=!str1:~-2!
for /l %%a in (0,1,2) do (
if "!xingming:~%%a,1!"=="" set strlen=%%a
if "!strlen!"=="2" (
for /f %%j in ('findstr /i /c:"结字%var2%" "%~f0"') do (
set str2=%%j&set str2=!str2:~-1!&cls&echo.&echo 你的姓名“%xingming%”所代表的武功为——!str1!!str2!&pause&exit
)
) else (
for /f %%j in ('findstr /i /c:"中字%var2%" "%~f0"') do (
set str2=%%j&if not "!str2:~-2,1!"=="|" (set str2=!str2:~-2!
) else (
set str2=!str2:~-1!
)
for /f %%k in ('findstr /i /c:"结字%var3%" "%~f0"') do (
set str3=%%k&set str3=!str3:~-1!
)
)
)
)
)
cls&echo.&echo 你的姓名“%xingming%”所代表的武功为——!str1!!str2!!str3!&pause&exit
姓氏A|奇门
姓氏B|玄天
姓氏C|日月
姓氏D|毒龙
姓氏E|夜叉
姓氏F|葵花
姓氏G|纯阳
姓氏H|玉女
姓氏J|六合
姓氏K|天罡
姓氏L|天羽
姓氏M|八卦
姓氏N|太乙
姓氏O|落英
姓氏P|鹰蛇
姓氏Q|太极
姓氏R|回风
姓氏S|混沌
姓氏T|乾坤
姓氏W|九天
姓氏X|神门
姓氏Y|百变
姓氏Z|逍遥
中字A|拂穴
中字B|降魔
中字C|霹雳
中字D|阴阳
中字E|丧门
中字F|真气
中字G|修罗
中字H|碎石
中字J|九九
中字K|绵
中字L|无痕
中字M|两仪
中字N|五神
中字O|穿云
中字P|破玉
中字Q|奇
中字R|迅雷
中字S|伏魔
中字T|游身
中字W|连环
中字X|无形
中字Y|神
中字Z|无双
结字A|钉
结字B|棒
结字C|掌
结字D|刀
结字E|拳
结字F|掌
结字G|爪
结字H|指
结字J|斧
结字K|钩
结字L|棍
结字M|杖
结字N|鞭
结字O|剑
结字P|镖
结字Q|索
结字R|刀
结字S|拳
结字T|手
结字W|功
结字X|锤
结字Y|枪
结字Z|剑
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-8-3 15:58 |
|
|
jmz573515
银牌会员
积分 1212
发帖 464
注册 2006-12-13
状态 离线
|
『第
2 楼』:
有意思,什么时候自己能写出这样的批处理,羡慕...
|
|
2007-8-3 16:43 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
3 楼』:
jmz573515兄的进步是大家有目共睹的,多多练习写代码,你就可以的。
其实我的代码没有完全依照它所附的要求做,因为那样要增加很多判断,例如是否复姓等。
所以我的代码中,你输入三位中文名字,无论是复姓还是名字中两个字一样,都当作是一(姓氏)、二(中字)、三(结字)来处理的。
不过感觉还好,例如:
南宫灵——太乙修罗棍
苏蓉蓉——混沌迅雷刀
......
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-8-3 17:05 |
|
|
Runas
初级用户
积分 74
发帖 38
注册 2007-7-25
状态 离线
|
|
2007-8-3 18:10 |
|
|
tao0610
高级用户
朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
|
2007-8-3 18:11 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
6 楼』:
妙极!兄的代码确实精彩,比我强的多了。
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-8-3 18:17 |
|
|
jmz573515
银牌会员
积分 1212
发帖 464
注册 2006-12-13
状态 离线
|
『第
7 楼』:
VBS的
XX="A奇门 B玄天 C日月 D毒龙 E夜叉 F葵花 G纯阳 H玉女 J六合 K天罡 L天羽 M八卦 N太乙 O落英 P鹰蛇 Q太极 R回风 S混沌 T乾坤 W九天 X神门 Y百变 Z逍遥"
ZZ="A拂穴 B降魔 C霹雳 D阴阳 E丧门 F真气 G修罗 H碎石 J九九 K绵 L无痕 M两仪 N五神 O穿云 P破玉 Q奇 R迅雷 S伏魔 T游身 W连环 X无形 Y神 Z无双"
JZ="A钉 B棒 C掌 D刀 E拳 F掌 G爪 H指 J斧 K钩 L棍 M杖 N鞭 O剑 P镖 Q索 R刀 S拳 T手 W功 X锤 Y枪 Z剑"
do
n=inputbox ("请输入你名字的拼音字头缩写,例如:" & vbcrlf & "张三 — ZS","看看你的名字代表什么武器(武功)")
if n=false then wscript.quit
if len(n)=2 then
JG="你的姓名“" & n & "”所代表的武功为—【" & find(XX,ucase(left(n,1))) & find(JZ,ucase(right(n,1))) & "】"
elseif len(n)=3 then
JG="你的姓名“" & n & "”所代表的武功为—【" & find(XX,ucase(left(n,1))) & find(ZZ,ucase(mid(n,2,1))) & find(JZ,ucase(right(n,1))) & "】"
else
JG="输入错误!"
end if
loop until msgbox(JG & VBCRLF & "是否继续查看?",32+vbyesno+4096,"结果")=vbno
function find(a,b)
on error resume next
s=split(a):h=filter(s,b):find=mid(h(0),2)
if err then err.clear:find="":exit function
end function
此帖被 +5 点积分 点击查看详情 评分人:【 ccwan 】 | 分数: +5 | 时间:2007-8-3 18:42 |
|
|
|
2007-8-3 18:30 |
|
|
Runas
初级用户
积分 74
发帖 38
注册 2007-7-25
状态 离线
|
『第
8 楼』:
难道没有len(n)=4的情况了,万一人家是复姓怎么办?
|
|
2007-8-3 18:53 |
|
|
jmz573515
银牌会员
积分 1212
发帖 464
注册 2006-12-13
状态 离线
|
『第
9 楼』:
哈哈,这个想过了,太麻烦~没有处理
|
|
2007-8-3 18:58 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
10 楼』:
1.bat:
@echo off
for /f "skip=7 usebackq" %%i in ("%~0") do set "%%i"
set /p name=输入姓名:
call echo %%姓氏%name:~0,1%%%%%中字%name:~-2,1%%%%%结字%name:~-1,1%%%
pause
goto :eof
姓氏=
中字=
结字=
姓氏A=奇门
姓氏B=玄天
姓氏C=日月
姓氏D=毒龙
姓氏E=夜叉
姓氏F=葵花
姓氏G=纯阳
姓氏H=玉女
姓氏J=六合
姓氏K=天罡
姓氏L=天羽
姓氏M=八卦
姓氏N=太乙
姓氏O=落英
姓氏P=鹰蛇
姓氏Q=太极
姓氏R=回风
姓氏S=混沌
姓氏T=乾坤
姓氏W=九天
姓氏X=神门
姓氏Y=百变
姓氏Z=逍遥
中字A=拂穴
中字B=降魔
中字C=霹雳
中字D=阴阳
中字E=丧门
中字F=真气
中字G=修罗
中字H=碎石
中字J=九九
中字K=绵
中字L=无痕
中字M=两仪
中字N=五神
中字O=穿云
中字P=破玉
中字Q=奇
中字R=迅雷
中字S=伏魔
中字T=游身
中字W=连环
中字X=无形
中字Y=神
中字Z=无双
结字A=钉
结字B=棒
结字C=掌
结字D=刀
结字E=拳
结字F=掌
结字G=爪
结字H=指
结字J=斧
结字K=钩
结字L=棍
结字M=杖
结字N=鞭
结字O=剑
结字P=镖
结字Q=索
结字R=刀
结字S=拳
结字T=手
结字W=功
结字X=锤
结字Y=枪
结字Z=剑 追求语句的简单,并没有对2字和3字的名字做判断。
2.vbs:
Dim cls1,cls2,cls3
Set cls1 = New Node
Set cls2 = New Node
Set cls3 = New Node
Call Initialize
str = Trim(InputBox("请输入你的名字:"))
Select Case Len(str)
Case 3
Execute "strOut=cls1." & Mid(str,1,1) & _
"&cls2." & Mid(str,2,1) & _
"&cls3." & Mid(str,3,1)
Case 2
Execute "strOut=cls1." & Mid(str,1,1) & _
"&cls3." & Mid(str,2,1)
Case Else
strOut = "你是不是输入的你家小狗的名字啊?"
End Select
WScript.Echo strOut
'*************************************************
Class Node
Dim a,b,c,d,e,f
Dim g,h,i,j,k,l
Dim m,n,o,p,q,r
Dim s,t,u,v,w,x
Dim y,z
End Class
'*************************************************
Sub Initialize
cls1.A="奇门"
cls1.B="玄天"
cls1.C="日月"
cls1.D="毒龙"
cls1.E="夜叉"
cls1.F="葵花"
cls1.G="纯阳"
cls1.H="玉女"
cls1.J="六合"
cls1.K="天罡"
cls1.L="天羽"
cls1.M="八卦"
cls1.N="太乙"
cls1.O="落英"
cls1.P="鹰蛇"
cls1.Q="太极"
cls1.R="回风"
cls1.S="混沌"
cls1.T="乾坤"
cls1.W="九天"
cls1.X="神门"
cls1.Y="百变"
cls1.Z="逍遥"
cls2.A="拂穴"
cls2.B="降魔"
cls2.C="霹雳"
cls2.D="阴阳"
cls2.E="丧门"
cls2.F="真气"
cls2.G="修罗"
cls2.H="碎石"
cls2.J="九九"
cls2.K="绵"
cls2.L="无痕"
cls2.M="两仪"
cls2.N="五神"
cls2.O="穿云"
cls2.P="破玉"
cls2.Q="奇"
cls2.R="迅雷"
cls2.S="伏魔"
cls2.T="游身"
cls2.W="连环"
cls2.X="无形"
cls2.Y="神"
cls2.Z="无双"
cls3.A="钉"
cls3.B="棒"
cls3.C="掌"
cls3.D="刀"
cls3.E="拳"
cls3.F="掌"
cls3.G="爪"
cls3.H="指"
cls3.J="斧"
cls3.K="钩"
cls3.L="棍"
cls3.M="杖"
cls3.N="鞭"
cls3.O="剑"
cls3.P="镖"
cls3.Q="索"
cls3.R="刀"
cls3.S="拳"
cls3.T="手"
cls3.W="功"
cls3.X="锤"
cls3.Y="枪"
cls3.Z="剑"
End Sub 咱好歹也用上了“类”,唉~~
此帖被 +9 点积分 点击查看详情 评分人:【 ccwan 】 | 分数: +9 | 时间:2007-8-4 07:46 |
|
|
|
2007-8-3 20:19 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
11 楼』:
3742668兄果然功力深厚啊。
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-8-4 07:46 |
|
|