我写了9行代码来实现随机生成30个16进制数,可以精简一下么?我觉得我写的很累赘。
本帖最后由 KLU3K 于 2009-10-18 18:06 编辑$rand = Int(Random(1000000000, 9999999999))
$rand2 = Int(Random(1000000000, 9999999999))
$rand3 = Int(Random(1000000000, 9999999999))
$rand4 = Int(Random(1000000000, 9999999999))
$result = Hex($rand, 8)
$result2 = Hex($rand2, 8)
$result3 = Hex($rand3, 8)
$result4 = Hex($rand4, 6)
MsgBox(0, "Debug", $result & $result2 & $result3 & $result4)我是菜鸟,不会写,只能写成这样比较累赘的样子。能否精简一下啊?要是我想随机生成100个岂不是要累死? 本帖最后由 netegg 于 2009-10-17 15:58 编辑
$n = ""
$i = 0
do
$i += 1
$n = $n & Hex(Int(random(1000000000, 9999999999)), 8)
until $i =4
msgbox(0, "Debug", $n)
不过不太明白你那个8,8,8,6是什么意思
$nVal = ""
for $X=1 To 9
$nVal &= aaa() & @CRLF
next
msgbox(0,0,$nVal)
Func aaa()
$val = Hex(Int(Random(1000000000, 9999999999)),8)
Return $val
EndFunc
2# netegg
目的是生成一组由30个字符组成的16进制码!
就要30个字符,多一个都不要。所以。8+8+8+6=30 Dim $Hex
For $i = 0 To 3
$Hex &= Hex(Int(Random(1000000000, 9999999999)), 8)
Next
$Hex = StringTrimRight($Hex, 2) 本帖最后由 iftodo 于 2009-10-18 11:14 编辑
#include <Array.au3>
Local $s = 100 ;要生成的个数
Dim $Hex[$s]
For $i = 0 To $s - 1
$Hex[$i] = Hex(Random(1000000000, 9999999999, 1), 8)
Next
_ArrayDisplay($Hex)
顺便说一下我的观点.行数并不是判断一段代码的惟一标准.实用至上 5# 78391493
这位兄弟的方法不错。满足需求。感谢! 6# iftodo
感谢回复,虽然没打到题目要求,但是也非常感谢你。向高手致敬!{:3_92:}
页:
[1]