TC官方合作论坛

 找回密码
 立即注册
查看: 1925|回复: 4

[语法] 随机返回简体中文字符

[复制链接]
发表于 2013-12-7 18:10:23 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 dragon3150 于 2013-12-7 21:04 编辑

//原理是利用 返回随机字符,然后格式化成一个单字的思路
//----------------------------------------------
//Step1:返回字符语句

//str.strgetat("把汉字放在这里面",0)要查找字符的位置,常量0代表返回第一个汉字
//如果找到字符返回找到字符编码值(如果是中文 返回UNICODE编码,英文返回的ASCII编码),否则返回-1

//但是这样得到的不是随机数
//所以我们把这个位置常量,换成一个随机变量。

//-----------------------------------------------
//Step2:返回随机字符

random=(help.randto(0,2))//利用辅助里面的随机数语句完成随机取值,注意取值的范围。
UNICODE=str.strgetat("一二三",random)//返回随机范围内,字符串中的汉字编码给UNICODE
help.messagebox(UNICODE)

//可以把以上语句合并成这样
random=str.strgetat("一二三",help.randto(0,2))

//-----------------------------------------------

//Step3:格式化
//把得到的这个编码给格式化
//str.format("格式化规定符",需要被格式化的数据)

//        格式化规定符有如下这些:
//        %d 整数
//        %f 浮点数
//        %s 字符串
//        %c 单个字符
//        %x 十六进制
//我们选择 %c,这样就随机得到一个单字

//-----------------------------------------------
//所以结论就有了,理解能力差的,我们可以分开来写

random=(help.randto(0,2))//随机返回一个0-2范围内的数字,赋值给变量random
UNICODE = str.strgetat("一二三",random)//返回随机范围内,字符串中的汉字编码给UNICODE
text=str.format("%c",UNICODE)//将UNICODE编码,格式化为一个单字,赋值给text
help.messagebox(text)

//可能我有点废话,但是整体思路就在这样的.
//其实说的直白些,以上表达的就是下面的一句话
text=str.format("%c",str.strgetat("一二三",help.randto(0,2)))
help.messagebox(text)
//举一反三,同学们可以用这个做一个随机起名的脚本
回复

使用道具 举报

发表于 2013-12-7 20:33:53 | 显示全部楼层
{:soso_e144:}最优解法:只有一行代码就行
help.messagebox(str.format("%c",help.randto(#4E00,#9fa5)))
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-7 19:41:44 | 显示全部楼层
抢沙发 看语法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-7 21:02:16 | 显示全部楼层
但是那里面好多乱七八糟的字符,和繁体字。这个可以控制内容的
回复 支持 反对

使用道具 举报

发表于 2013-12-9 21:12:03 | 显示全部楼层
前排支持~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-1 23:43 , Processed in 0.033226 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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