第一:我们先看一下想要输出的效果
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
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
第二:摆正一个思想,print输出只能一行一行的输出,如果想要得出上面的效果要使用end=' '#输出的内容不换行没空格持续输出;或者end ='t'#输出后空一格再输出。
第三:看一下程序
for i in range(1,10):#1
for k in range(1,i+1):#2
print('%d*%d=%d' %(i,k,i*k),end = 't ')#3
print( )#4
第四:解释程序
#1:使用for循环(1,10)表示从0到9,计算机的数字是从0开始的
#2:(1,i+1)直译→(1,10),那为什么不能直接写(1,10)呢???(我之前看别人写的我也是一脸懵逼)
因为如果你填了(1,10)输出出的效果,如下
因为程序是这样走的
#1(当i为1时)→ → → → #2(会输出1到9) → → → → #3→ → → → #4→ → → → 第一结束
#1 (当i为2时)→ → → → #2(会输出1到9) → → → → #3→ → → → #4→ → → → 第二结束
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
#1 (当i为9时)→ → → → #2(会输出1到9) → → → → #3→ → → → #4→ → → → 第九结束
第三段程序:
因为我们要输出的是1*1=1 这种效果
print('%d*%d=%d' %(i,k,i*k),end = 't ')
end ='t'#输出后空一格再输出。
#第四段程序:
for i in range(1,10):#1
for k in range(1,i+1):#2
print('%d*%d=%d' %(i,k,i*k),end = 't ')#3
print( )#4
#又因为程序是这样运行的:
#1(当i为1时)→ → → → #2(会输出1到9) → → → → #3→ → → → #4
#当i为1时,(1,i+1)就变成→ → →(1,2)这样第第二程序就只输出1
#当i为2时,(1,i+1)就变成→ → →(1,3)这样第第二程序就只输出1和2
肯定会有人问那 print( )是干嘛的呢?那你看我把 print( ) 改成
print("这样明白了吗?")
你看这样明白吗?
始总要记住程序是自上而下(我这个程序)
欢迎交流沟通,一起学习向上



