代码如下:
代码详解(为了让自己理解):
for i in range(1,10): # print(i,end = ' ') for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end = ' ') print()
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。
相关推荐:《Python基础教程》
有的同学可能会有疑问,为什么(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开始取值。
2.
for j in range(1,i+1)
在给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
...........
3.
print('%s*%s=%s' %(i,j,i*j),end = ' ') print()
%s是格式化取值的意思,前面2步都求出来了,就开始打印了%s*%s=%s %(i,j,i*j,end = ' ' ),其中end = “ ”的意思就是在每个计算的结尾处加个空格。主要是排版上好看易于理解一些。然后结果就是:
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 .........