qq281831460 发表于 2022-8-6 21:53:04

九九乘法表这个看不明白,尤其是输出的格式,指点一二

for循环两次遍历1~9
字符串格式化输出也知道,end='',是输出一个空格,但是表示输出还没完,这个也知道
不明白的地方是:第一层循环的y取第一个值后,就进入第二层循环中把x遍历一遍后,再从第一层循环中取第二个值,继续就进入第二层循环中遍历一遍,这样循环吗?(不知道我理解的对不对,)
                         第二个print是在第二层循环结束后运行打印(相当于换行吗?)

# 九九乘法表
for y in range(1, 10):
    for x in range(1, y+1):
      print('{}x{}={}\t'.format(x, y, x*y), end='')
    print()

qq281831460 发表于 2022-8-6 21:54:23

为什么这样才能打印出三角形的格式呢????

青出于蓝 发表于 2022-8-6 22:01:27

y的范围是 1~9,也就是乘法口诀中第一个因数
x的范围是 1~y ,也就是乘法口诀中第二个因数

以此为落脚点,进行两个for循环

qq281831460 发表于 2022-8-6 22:05:30

青出于蓝 发表于 2022-8-6 22:01
y的范围是 1~9,也就是乘法口诀中第一个因数
x的范围是 1~y ,也就是乘法口诀中第二个因数



x不是第一个吗,输出格式就是 x * y ,y是第二个
三角形打印是怎么实现的,看不明白,打印应该是一行一行的打印吧

青出于蓝 发表于 2022-8-6 22:08:53

qq281831460 发表于 2022-8-6 22:05
x不是第一个吗,输出格式就是 x * y ,y是第二个
三角形打印是怎么实现的,看不明白,打印应该是一行一行 ...

确实,抱歉哈~
第二个for循环完毕,标志着打印完了一行,然后第5行就相当于换行
故出现三角形打印

qq281831460 发表于 2022-8-6 22:26:18

青出于蓝 发表于 2022-8-6 22:08
确实,抱歉哈~
第二个for循环完毕,标志着打印完了一行,然后第5行就相当于换行
故出现三角形打印

两个for循环嵌套,到底是怎么一个循环顺序呢?
按理说是从上到下的执行,这个有两个可迭代对象,想不明白了。。。
页: [1]
查看完整版本: 九九乘法表这个看不明白,尤其是输出的格式,指点一二