找回密码
 加入
搜索
楼主: sanye000001

[AU3基础] 如何让N个for语句用简短的语句描述

 火.. [复制链接]
 楼主| 发表于 2012-10-29 23:30:02 | 显示全部楼层
回复 15# MicroBlue


    你真是个天才。
$y1=GUICtrlCreateInput($x1,110,350,80,30)

_CallSelf($y1)
Func _CallSelf($n,$m)


        MsgBox(0,"",$n)

        If $n = 0 Then
                Exit
        Else
               for $a=0 to $m step 1
                _CallSelf($n-1,$m)
                 $n-=1
        EndIf

EndFunc
这样行不行?
发表于 2012-10-29 23:34:14 | 显示全部楼层
回复 16# sanye000001


    行不行,你试试啊。看看是不是你要的效果。
 楼主| 发表于 2012-10-29 23:34:54 | 显示全部楼层
回复 15# MicroBlue


    你真是个天才。
$y1=GUICtrlCreateInput($x1,110,350,80,30)

_CallSelf($y1)
Func _CallSelf($n,$m)


        MsgBox(0,"",$n)

        If $n = 0 Then
                Exit
        Else
               for $a=0 to $m step 1
               next
                               _CallSelf($n-1,$m)
                         EndIf

EndFunc
应该不行,因为for……next这个变成一层,我需要的是层层内嵌,即for……for……for…………next……next……next
发表于 2012-10-30 00:02:21 | 显示全部楼层
Global $k = 0
dosomething(6,5)
ConsoleWrite($k&@CRLF)

Func dosomething($n, $deep)
        For $i = 0 to $n
                If(1 == $deep)then
                        $k += 1
                Else
                        dosomething($n, $deep - 1)
                EndIf
        Next
EndFunc



$k = 0
For $i = 0 To 6
        For $i2 = 0 To 6
        For $i3 = 0 To 6
        For $i4 = 0 To 6
        For $i5 = 0 To 6
        $k += 1
Next
Next
Next
Next
Next

ConsoleWrite($k&@CRLF)
发表于 2012-10-30 01:04:09 | 显示全部楼层
回复 18# sanye000001
递归本来就可以达到多重循环的效果,lz如果没试过,不要妄下结论
发表于 2012-10-30 02:00:03 | 显示全部楼层
本帖最后由 annybaby 于 2012-10-30 02:10 编辑

回复 19# seeyou

抱歉,回复错误楼层了~~
发表于 2012-10-30 02:10:16 | 显示全部楼层
回复 18# sanye000001


自身调用自身啊,递归来的,fibonacci,N!等问题的笨办法都会用到递归,你后面的多重for循环可以用下面的代码来代替,其实类似的变通一下就可以
Local $k = 0
_for(5)
Func _for($n)
For $i = 1 To 7^$n
        $k += 1
Next
EndFunc
ConsoleWrite($k&@CRLF)
发表于 2012-10-31 13:36:57 | 显示全部楼层
好像是递归意思吧。
发表于 2020-12-12 22:58:30 来自手机 | 显示全部楼层
MicroBlue 发表于 2012-10-29 23:13

递归啊,牛人,膜拜
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 13:03 , Processed in 0.065170 second(s), 12 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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