代码如下:

代码详解(为了让自己理解):

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
.........

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python怎么写乘法表