Hting1990 发表于 2020-6-26 14:49:55

不太懂这串代码

不太懂九九乘法表的代码中层级关系

>>> for i in range(1, 10):
...          for j in range(1, i+1):
...               print(i, "x", j, "=", i * j, end=' ')
...          print("\n")

Twilight6 发表于 2020-6-26 14:57:55


这外部 for i in range(1, 10) 循环每循环一次,内部的 for j in range(1, i+1) 这个循环要循环 i+1 次

我们观察 99乘法表发现乘号前面的数正好等于列数,而乘号后面的数刚刚好等于行数

所以通过 for 循环,用 j 来表示列,用 i 来表示行,通过循环打印出 99 乘法表

建议代码改成这样,i 和 j 对调下更加美观,print 不打印 '\n',因为print函数自带换行效果,去掉 \n 会使 99 乘法表更加紧凑
for i in range(1, 10):
         for j in range(1, i+1):
            print(j, "x", i , "=", i * j, end='')
         print()

sunrise085 发表于 2020-6-26 14:57:57

Python 按照缩进划分层级。缩进相同的代码是一个层级
for i in range(1, 10):#下面三行都是这个for循环的内容
    for j in range(1, i+1):#下面一行是这个for循环的内容
      print(i, "x", j, "=", i * j, end=' ')
    print("\n")

rocktang 发表于 2020-6-26 17:12:44

本帖最后由 rocktang 于 2020-6-26 17:17 编辑

这是9 * 9 乘法表呀。
for row in range(1,10):
    for col in range(1,row+1):
      print("%d*%d=%d" % (row,col,row*col),end = "\t")
    print("")
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=124*4=16
5*1=5   5*2=105*3=155*4=205*5=25
6*1=6   6*2=126*3=186*4=246*5=306*6=36
7*1=7   7*2=147*3=217*4=287*5=357*6=427*7=49
8*1=8   8*2=168*3=248*4=328*5=408*6=488*7=568*8=64
9*1=9   9*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81      

页: [1]
查看完整版本: 不太懂这串代码