在球拍中编写嵌套的 while 循环
writing nested while loops in racket
我试图在 racket 中使用 while loop package 来编写嵌套循环,如下所示:
(define i 0)
(define j 0)
(while (< i 10)
(while (< j 10) (printf "~a ~a~n" i j) (set! j (+ j 1)))
(set! i (+ i 1)) )
但由于某种原因,内部循环只执行了一次。谁能告诉我我做错了什么?
考虑第一个迭代系列结束时 j
的值:它是 10。
然后i
加1,再次开始内循环。但是现在 j
是 10 并且立即退出循环!
要更正此问题,只需在执行任何内部循环之前重新初始化 j
的值,例如:
(define i 0)
(define j 0)
(while (< i 10)
(set! j 0)
(while (< j 10) (printf "~a ~a~n" i j) (set! j (+ j 1)))
(set! i (+ i 1)) )
我试图在 racket 中使用 while loop package 来编写嵌套循环,如下所示:
(define i 0)
(define j 0)
(while (< i 10)
(while (< j 10) (printf "~a ~a~n" i j) (set! j (+ j 1)))
(set! i (+ i 1)) )
但由于某种原因,内部循环只执行了一次。谁能告诉我我做错了什么?
考虑第一个迭代系列结束时 j
的值:它是 10。
然后i
加1,再次开始内循环。但是现在 j
是 10 并且立即退出循环!
要更正此问题,只需在执行任何内部循环之前重新初始化 j
的值,例如:
(define i 0)
(define j 0)
(while (< i 10)
(set! j 0)
(while (< j 10) (printf "~a ~a~n" i j) (set! j (+ j 1)))
(set! i (+ i 1)) )