Do

Do[expr,n]

evaluates expr n times.

Do[expr,{i,imax}]

evaluates expr with the variable i successively taking on the values 1 through imax (in steps of 1).

Do[expr,{i,imin,imax}]

starts with i=imin.

Do[expr,{i,imin,imax,di}]

uses steps di.

Do[expr,{i,{i1,i2,}}]

uses the successive values i1, i2, .

Do[expr,{i,imin,imax},{j,jmin,jmax},]

evaluates expr looping over different values of j etc. for each i.

Details

  • Do uses the standard Wolfram Language iteration specification.
  • You can use Return, Break, Continue, and Throw inside Do.
  • Unless an explicit Return is used, the value returned by Do is Null.
  • Do[expr,Infinity] continues evaluating expr until explicitly told to exit through a function such as Break, Return, Throw, Abort, or Quit.
  • Do[expr,spec] first evaluates spec, then localizes the variable specified and successively assigns values to it, each time evaluating expr.
  • Do effectively uses Block to localize values or variables.
  • Do[expr,spec1,spec2] is effectively equivalent to Do[Do[expr,spec2],spec1].

Examples

open allclose all

Basic Examples  (3)

Print the first four squares:

In[1]:=
Click for copyable input

n goes from -3 to 5 in steps of 2:

In[1]:=
Click for copyable input

Print 4 random integers:

In[1]:=
Click for copyable input

Scope  (8)

Generalizations & Extensions  (1)

Applications  (5)

Properties & Relations  (2)

See Also

For  While  Table  Nest  NestWhile  Fold  ScheduledTask  ContinuousTask

Tutorials

Introduced in 1988
(1.0)
| Updated in 2015
(10.2)