一、代码展示
以防各位心急,咱先搬上来代码:
代码一:初级版
for i in range(1,10):
for j in range(1,10):
print("%d*%d=%d"%(i,j,i*j),end=" ")
print()
效果:
代码二:完整版
for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d"%(i,j,i*j),end=" ")
print()
效果:
二、代码讲解
1.代码一讲解
for i in range(1,10):
for j in range(1,10):
print("%d*%d=%d"%(i,j,i*j),end=" ")
print()
如果你能明白双循环,相信代码一对你来说只是小问题。
我们定义两个循环:一个关于i的循环,从1到9;一个关于j的循环,从1到9
最开始,i的值是1不变,j的值从1循环到9,然后输出
然后i的值变成2,j的值再次从1到9,然后输出
……
一直到i的值变位9,j的值从1循环到9,再次输出,然后结束
所以,会得到第一行是1乘1到9的乘法表,第二行是2乘1到9的乘法表,然后以此类推
Tips1:第一个print最后的end= “ ” 的意思是让它输出空格,因为计算机默认print每一次输出后都要换行,所以我们加上end= “ ”后,它就会将1乘1到9输出到一行。否则,你就会得到下图:
Tips2:第二个print的意思是换行,在python中输出换行,就是print( ),当然还有其他办法,这里不多介绍,详情看后续文章。
Tips3:你可能注意到第一个print里有三个%d,它的意思是告诉计算机,让他依次输出i,j,i乘j的值,你可能会问,那为啥不直接写成print(i*j=i*j)呢?相信写出来的时候,你已经明白了,计算机分不清哪个分别写出i和j哪个输出i*j的值啊,所以我们用%d来代替表示,"%d*%d=%d"%(i,j,i*j)我们用双引号来括住你要表达的形式,即谁乘谁=谁,所以是%d*%d=%d,然后后面直接加上一个%来告诉计算机,后面括号里的东西,就是%d依次要代表的东西
输出完后,我们可能有点困惑:这跟我印象中的乘法表不太一样啊!
所以有了下面代码二的升级版
2.代码二讲解
for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d"%(i,j,i*j),end=" ")
print()
我们先仔细观察一下乘法表:
第一行1*1=1
第二行2*1=2 2*2=4
可以发现,j的最大循环值一开始是1,然后是2,不再是固定的9了,我们可以找规律发现,每一次j的最大循环值跟i的值是相等的。
你看,一开始i是1,所以j最大到1就结束了,然后看第2行,此时i变成2了,说明j的循环结束了,此时i已经开始循环到2了,j马上要再次开启循环:j的值依次是1,2,然后结束,直接开始第三行了。
所以,我们可以直接设定j的循环范围就是1到i,即代码:range(1,1+i)
要记得range里面左闭右开,相当于大于等于1小于i+1哦!
其他的就跟代码一一样了,关于两个print可以看代码一中的TIps哦~
标签:10,九九乘法,end,python,代码,range,小白,循环,print From: https://blog.csdn.net/2301_81711570/article/details/143418793