代码如下:
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end = ' ')
print()
在给i赋值的基础上,再做进一步的循环操作,即给j赋值
1.
for i in range(1,10)
这是一个for 循环 语句,
range()是一个函数,
for i in range(),就是给i 赋值:
比如for i in range (1,10)的意思就是把1,2,3,4,5,6,7,8,9依次赋值给i;
再比如举个3以内数字好理解的: for i in range (1,3)的意思就是把i 赋值给1和2
刚入门的同学会问,为什么(1,10)取得值是1-9,而不包括10?关于这个问题就建议大家记着5个字:顾头不顾尾,(也就是说顾头就是:取尾巴前面的数字,不顾尾就是:不取尾巴的数字就行了。所以最后的那个尾巴10是不会取的),计算机从零开始计数。
附加其他理解:range()
range(1):这个取的值是0
range(2):这个取得值是0,1
range(3):这个取得值,0,1,2
range(0,3,1):这个取得值是0,1,2,其中第三个数字1其实就是默认的步长,只是我写出来了,不写也可以。整体写下来默认是从0开始取值的,除非你自己定义数字1,或者2,那就是从1,或者2开始取值
for j in range(1,i+1)
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end = ' ')
print()
在给i赋值的基础上,再做进一步的循环操作,即给j赋值
给j赋值是建立在给i赋值的基础上
直接写结果,我觉得更好理解:
理解了第一步的解释很明显给i依次赋值为1,2,3,4,5,6,7,8,9
for j in range(1,i+1)
当i = 1,j=(1,2),此时j 的取值就是1
当i = 2,j=(1,3),此时j 的取值就是1,2
当i = 3,j=(1,4),此时j 的取值就是1,2,3
当i = 4,j=(1,5),此时j 的取值就是1,2,3,4
当i = 5,j=(1,6),此时j 的取值就是1,2,3,4,5
…
print('%s*%s=%s' %(i,j,i*j),end = ' ')
print()
%s是格式化取值的意思,后续课程中会讲,前面2步都求出来了,就开始打印了
%s*%s=%s %(i,j,i*j,end = ’ ’ ),其中end = “ ”的意思就是在每个计算的结尾处加个空格。主要是排版上好看易于理解一些。print()默认参数"换行",没有此条语句输出打印时将不会换行。然后结果就是:
1* 1=1
2* 1=2 2* 2=4
3* 1=3 3* 2=6 3* 3=9
…