说来惭愧,入行1年多一直没搞懂九九乘法表的第二层for循环,for j in range(1,i+1),它为什么要i+1。直到今天面试官让我说99乘法表实现的具体代码,才忽然之间懂了。

为什么内层for循环需要加1?

原因:外层的range函数(1,10)只能取到9,内层的range(1,i),i只能取到8,因此i需要加1,range(i,i+1),i才能取到9。

for i in range(1,10):
    for j in range(1,i+1):
        print("{0}*{1}={2}".format(i,j,i*j),end="\t")
    print()

for循环实现九九乘法表代码:

运行结果:


info_list = [
["张三",20,10000,"成都"],
["李四",21,20000,"北京"],
["王五",22,30000,"合肥"],
]
for i in range(len(info_list)): # todo i的值为0,1,2
for j in range(len(info_list[i])):
# len(info_list[i]),i为0时,从第0个列表开始遍历,info_list[0]里面有4个值,因此j的值为0,1,2,3。
print(info_list[i][j],end="\t")
print()

 

java的也差不多:

package com.sxt;

public class JiuJiuDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i + "*" + j + "=" + (i * j) + " " + "\t");
            }
            System.out.println();

        }
    }
}

 js的也一样:

<script>
    for (var i = 1;i<=9;i++){
        for (var j = 1;j<=i;j++){
            document.write(i + "*" + j + "=" + j * i," ");
        }
        document.write("<br>");
    }
</script>