求输出结果的排列[已解决]
本帖最后由 仙乃日 于 2010-4-11 11:05 编辑有代码如下:Dim $nnn = "", $jj = ""
For $i = 3 To 49
For $j = 4 To 11
$nn = Log(1 / 2 ^ $j) / Log(1 - 1 / $i)
Select
Case $nn <= 9
$nnn = "00" & Round($nn)
Case $nn >= 10 And $nn < 100
$nnn = "0" & Round($nn)
Case $nn >= 100
$nnn = Round($nn)
EndSelect
If $j < 10 Then
$jj = "0" & $j
Else
$jj = $j
EndIf
Select
Case $i < 10
FileWriteLine("等价期数.txt", "00" & $i & "分之一概率-<" & $nnn & ">-期" & "等价于单双-" & $jj & "-期" )
Case $i > 10 And $i < 100
FileWriteLine("等价期数.txt", "0" & $i & "分之一概率-<" & $nnn & ">-期" & "等价于单双-" & $jj & "-期")
Case $i > 100 And $i < 1000
FileWriteLine("等价期数.txt", $i & "分之一概率-<" & $nnn & ">-期" & "等价于单双-" & $jj & "-期")
EndSelect
Next
Next
003分之一概率-<007>-期等价于单双-04-期 004分之一概率-<019>-期等价于单双-04-期 005分之一概率-<012>-期等价于单双-04-期
003分之一概率-<009>-期等价于单双-05-期 004分之一概率-<012>-期等价于单双-05-期 005分之一概率-<016>-期等价于单双-05-期
003分之一概率-<010>-期等价于单双-06-期 004分之一概率-<014>-期等价于单双-06-期 005分之一概率-<019>-期等价于单双-06-期
003分之一概率-<012>-期等价于单双-07-期 004分之一概率-<017>-期等价于单双-07-期 005分之一概率-<022>-期等价于单双-07-期
003分之一概率-<014>-期等价于单双-08-期 004分之一概率-<019>-期等价于单双-08-期 005分之一概率-<025>-期等价于单双-08-期
003分之一概率-<015>-期等价于单双-09-期 004分之一概率-<022>-期等价于单双-09-期 005分之一概率-<028>-期等价于单双-09-期
003分之一概率-<017>-期等价于单双-10-期 004分之一概率-<024>-期等价于单双-10-期 005分之一概率-<031>-期等价于单双-10-期
003分之一概率-<019>-期等价于单双-11-期 004分之一概率-<027>-期等价于单双-11-期 005分之一概率-<034>-期等价于单双-11-期
006分之一概率-<015>-期等价于单双-04-期 007分之一概率-<018>-期等价于单双-04-期 008分之一概率-<021>-期等价于单双-04-期
006分之一概率-<019>-期等价于单双-05-期 007分之一概率-<022>-期等价于单双-05-期 008分之一概率-<026>-期等价于单双-05-期
006分之一概率-<023>-期等价于单双-06-期 007分之一概率-<027>-期等价于单双-06-期 008分之一概率-<031>-期等价于单双-06-期
006分之一概率-<027>-期等价于单双-07-期 007分之一概率-<031>-期等价于单双-07-期 008分之一概率-<036>-期等价于单双-07-期
006分之一概率-<030>-期等价于单双-08-期 007分之一概率-<036>-期等价于单双-08-期 008分之一概率-<042>-期等价于单双-08-期
006分之一概率-<034>-期等价于单双-09-期 007分之一概率-<040>-期等价于单双-09-期 008分之一概率-<047>-期等价于单双-09-期
006分之一概率-<038>-期等价于单双-10-期 007分之一概率-<045>-期等价于单双-10-期 008分之一概率-<052>-期等价于单双-10-期
006分之一概率-<042>-期等价于单双-11-期 007分之一概率-<049>-期等价于单双-11-期 008分之一概率-<057>-期等价于单双-11-期
求输出结果是否能如上方式排列呢?
还有另一个问题能否用红色标示结果中的数字呢? 排列应该不难。红色的数字要看在哪里显示,记事本是不可能的;Edit控件也不行;富文本可以;Label控件组合也可以… 本帖最后由 水木子 于 2010-4-10 17:47 编辑
For $i = 3 To 49
For $j = 4 To 11
$nn = Log(1 / 2 ^ $j) / Log(1 - 1 / $i)
FileWriteLine("等价期数.txt", StringFormat('%03d', $i) & "分之一概率" & StringFormat('% 8s', Round($nn, 2)) & "期" & " =单双" & StringFormat('%03d', $j) & "期")
Next
Next For $i = 3 To 49
For $j = 4 To 11
$nn = Log(1 / 2 ^ $j) / Log(1 - 1 / $i)
FileWriteLine("等价期数.txt", StringFormat('%02u', $i) & "分之一概率" & StringFormat("%06s", Round($nn, 2)) & "期" & " =单双" & StringFormat('%02u', $j) & "期")
Next
Next
使用StringFormat函数能将 6.1 转换成 006.10 吗?
回复 4# 仙乃日
StringFormat 就是专门干这个的! Dim $txt = @ScriptDir & '\等价期数.txt'
Dim $nnn, $jj, $zout, $out, $x = 0, $xx = 0, $b = 0, $bb = 11 - 4 + 1
For $i = 3 To 49
For $j = 4 To 11
$nn = Log(1 / 2 ^ $j) / Log(1 - 1 / $i)
$nnn = StringFormat('%03d', Round($nn))
$jj = StringFormat('%02s', $j)
$ii = StringFormat('%03s', $i)
$out[$b * $bb + $x][$xx] = $ii & '分之一概率-<' & $nnn & '>-期等价于单双-' & $jj & '-期' & @TAB
$x += 1
If $x > $bb - 1 Then $x = 0
Next
$xx += 1
If $xx > 2 Then
$xx = 0
$b += 1
EndIf
Next
For $i = 0 To UBound($out) - 1
$zout &= $out[$i] & $out[$i] & $out[$i] & @CRLF
If IsInt(($i + 1) / 8) Then $zout &= @CRLF
Next
FileDelete($txt)
FileWrite($txt, $zout)
ShellExecute($txt) 回复仙乃日
StringFormat 就是专门干这个的!
水木子 发表于 2010-4-10 22:33 http://www.autoitx.com/images/common/back.gif
能说一下用StringFormat函数 具体如何将 6.1 转换成 006.10 ?? 感谢2位的解答! 本帖最后由 水木子 于 2010-4-11 11:29 编辑
afan前辈的代码相当精辟,可以说是完全满足LZ的要求。 真的得好了学AUTOIT,太强了。
页:
[1]