1、先来看一下 Do 的语法结构吧, 你会发现与 Table 非常类似.
![Mathematica编程入门:[2]循环_2](https://exp-picture.cdn.bcebos.com/f11f54237971fe1d88e10eacea20a7cd0d6ee08d.jpg)
2、我们拿出一条同样的语句分别用 Table 和 Do 执行一下. 发现用 Do 执行完并没有任何的结果, 这个和我们刚才提高的两者的区别是相一致的.
![Mathematica编程入门:[2]循环_2](https://exp-picture.cdn.bcebos.com/a68c126efbf202b350ee8fce30f4da5873dadb8d.jpg)
3、那你也许会有有点疑惑, 为什么需要有 Do 循环命令. 这就是在某些场合, 我们并不关心返回的结果, 只需要执行一些循环的操作. 比如我们之前有个经验所讲的那样[海报墙的制作], 如下面代码所示那样, 我们只是对每一个文件执行了生成缩略图的操作, 并不要求得到所有缩略图的结果.
![Mathematica编程入门:[2]循环_2](https://exp-picture.cdn.bcebos.com/db196cdade49610fa76fbbb1a56817e950e1d28d.jpg)
4、另一方面, 如果我们只对循环过程中计算的某些结果感兴趣, 那也是有收集数据办法的. 比如来看下面的例子. 只收集 100 以内的素数.
![Mathematica编程入门:[2]循环_2](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd28c5f47ec0e40102a05e2c98d.jpg)
5、看另外一种更为高效收集中间数据的例子吧. 这里用到 Sow 和 Reap 的收集方式.
![Mathematica编程入门:[2]循环_2](https://exp-picture.cdn.bcebos.com/a31e1214c27bd282ceb0b7f33cb1eef97ebd3692.jpg)