说来惭愧,入行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=" ") 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=" ")
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) + " " + " "); } 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>