Python 用for循环写九九乘法表1

我们学完for循环嵌套之后,我们来看一个经典案例,用for循环打印九九乘法表。

其实代码很简单,我们上章基本上就把框架写好了,就是这个代码。

for i in range(1,10):
    print('外层循环---->',i)
    for x in range(1, 10):
        print('内层循环-->', x)

我们先来看看,九九乘法表长什么样子。

我们来看第一行,一一得一,也就是我们只要拿到两个等于1的变量,然后相乘就行了。第二行一二得二,这就需要拿到1和2这两个值,二二得四,就需要两个2。

往下看就会发现一个规律,每一行乘号前面都是1,乘号后面的数字每一行都是一样的,而且每一行依次累加。是不是上节课讲的for循环嵌套。

好像是有点思路了,我们试试改下上面的代码。

for i in range(1,10):
    for x in range(1, 10):
        print(f'{i}*{x}={i*x}')
    print('-'*10)

第三行表示的是做数学运算的,第四行代表做分割的。我们先来打印看看。

好像有点感觉了,但是还是有点问题。这个i是没有问题的,每次内层循环i都是固定的,但是这个x每次都是1-9这就不太对了。

我们来看上面的图,第一次应该是x到1就结束了,第二次是1-2,第三次是1-3……第九次是1-9。

内层循环我们不应该写死,应该改成动态的。第一次外存循环(1,1)、第二次外存循环(1,2)、第三次外存循环(1,3)、第四次外存循环(1,4)。所以后面应该是i+1。我们再来打印看看。

for i in range(1,10):
    for x in range(1, i+1):
        print(f'{i}x{x}={i*x}')
    print('-'*10)

好像有点正确了,但是好像格式有点问题,应该是每次外层循环,都在同一行,外层循环打印完后才换行。

要实现这个效果,我们要重新认识print这个功能了。

未经允许不得转载:445IT之家 » Python 用for循环写九九乘法表1

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏