如何让N个for语句用简短的语句描述
for $a=0 to 10 step 1for $a=0 to 10 step 1
for $a=0 to 10 step 1
for $a=0 to 10 step 1
……(有N个for语句)
……(有N个next语句)
next
next
next
next如果有N个for语句,N还是个变量,这个时候有什么办法? 在线急等,行不行都说一下,谢谢 你能把问题说的具体点吗?这样描述太模糊了。 回复 3# MicroBlue
比方说,我们要得到一个1--N的和,我们可以这样写local $b=0,N
for $a=0 to N step 1
$b=$b+$a
next
这样N是变量,N是由用户输入的值。那么这个时候,1--N,变成了1--N个层层的for语句,那怎么表示呢? 楼主何不运行一下代的代码测试下,多次层都是11次~~
请修改下 问题说的越具体越容易得到帮助 for $a=0 to 10 step 1
for $a=0 to 10 step 1
for $a=0 to 10 step 1
for $a=0 to 10 step 1
……(有N个for语句) ;这里有N个for,但是N是个变量,是个手动输入的值,如果我N的值输入100,那我就要手动输入100个for语句了,高于100呢,这样程序繁杂,有没有什么简单的办法,比方说写一个函数,进行调用,随着N的值的变化,函数调用的次数也跟着变化的等等
……(有N个next语句)
next
next
next
next 回复 7# sanye000001
楼主没有试运行下代码??
你试过便知,就算中间有一万个for ,代码都只执行11次 回复 8# annybaby
不会吧,autoit不会那么烂吧 回复annybaby
不会吧,autoit不会那么烂吧
sanye000001 发表于 2012-10-29 22:52 http://www.autoitx.com/images/common/back.gif
是你的描述问题。你至少应该有一段可以运行的代码来诠释问题过程,而不是不能执行的伪代码。 回复 9# sanye000001
你对for循环理解有问题啊,怪什么autoit啊。晕。 回复 9# sanye000001
遇到问题时请先思考并检查代码/实机测试,而不是假设问题出在编程工具上 回复 11# MicroBlue
就是就是~~ 回复 10# afan
好吧,那我就用以下一段代码来说明一下:#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
#include <array.au3>
Global Const $haoma =
Dim $haomax,$haomay,$array ;$haomax定义复选框
Local $i, $a = 50, $b = 80, $j,$x1,$x2,$y1,$y2,$suoyin,$z,$zu,$pro ;$a\$b表示界面上的距离 $i\$j定义复选框文本以及字体大小,$x/$x1\y1\y2表示输入的组数的值,$suoyin表示被选择的数组最后一个数值的下标,$z无意义,$zu表示输入的组数
$anzhuang = GUICreate("彩票幸运分 QQ:1375030119", 800, 600)
$y1=GUICtrlCreateInput($x1,110,350,80,30)
GUISetState(@SW_SHOW, $anzhuang)
Func sange($m) ;这段代码表示有三个循环,因为有三个取值放在一个数组里面,现在有$y1个取值,要放在一个数组里面,我需要写入$y1个循环,怎么办?$y1=GUICtrlCreateInput($x1,110,350,80,30),$y1的值取决于用户输入$x1的值作的变化。
Local $i1,$i2,$i3,$num1,$num2,$num3,$k=0
For $i1 = 0 To $m Step 1
$num1 = $haomay[$i1]
For $i2 = 1 To $m Step 1
If $i2 > $i1 Then
$num2 = $haomay[$i2]
For $i3 = 2 To $m Step 1
If $i3 > $i2 Then
$num3 = $haomay[$i3]
ReDim $array[$k+1]
$array[$k]=$num1
$array[$k]=$num2
$array[$k]=$num3
$k=$k+1
EndIf
Next
EndIf
Next
Next
Return $array
EndFunc
While 1
$msg = GUIGetMsg()
If $msg = $gui_event_close Then
ExitLoop
EndIf
Select
Case $msg=$kaishi
$haomay=duqu()
GUICtrlSetData($pro,10)
$jieguo=sange(UBound($haomay)-1);得到二维数组的结果$jieguo[$k]
GUICtrlSetData($pro,50)
$yiweishuzu=yiwei($jieguo) ;二维转化成一维
GUICtrlSetData($pro,80)
$zu=duqux1() ;读取x1的值
GUICtrlSetData($pro,85)
zuhe($yiweishuzu,$zu)
EndSelect
WEnd
GUIDelete($anzhuang) _CallSelf(4)
Func _CallSelf($n)
MsgBox(0,"",$n)
If $n = 1 Then
Exit
Else
_CallSelf($n-1)
EndIf
EndFunc
页:
[1]
2