算法创作|用while实现九九乘法表问题解决方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。


前言

标题,假如朋友圈分享了这篇文章,如何吸引朋友点击打开这篇文章。


问题描述

我们刚学习Python的时候,就就看到老师学长用for循环做了一个九九乘法表也就是如下:

输出:

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

    当我们换一下思路用while呢?


解决方案

让我们先来理一理for循环九九乘法表的过程:我们先把九九乘法表中a*b改变一下位置也就是b*a

1*1=1

2*1=2  2*2=4

3*1=3  3*2=6  3*3=9

……

也就是第一层是:1乘(11),第二层是:2乘(12),第三层是3:乘(13……

Python中也就是for循环中:上层a循环19,下层b循环1到上层,也就会出现a=1b=1a=2b=1 b=2a=3b=1 b=2 b=3……

当用while时也一样,定义变量a=1while循环条件a<10,再在循环内加a=a+1,就可以得到19了 ,在用相同方法定义b=1while循环1a再在循环内加b=b+1就可以得到与for相同的答案,其余的参考for循环。

代码清单 1 DFS求解1100求和问题Python代码

a=1

while a<10:

b=1

while b<a+1

c=a*b

print(“%d*%d=%d”% (b,a,c),end=”\t”)

        b=b+1

a=a+1

print()

 

结语

这周翻看大一上学期书时,发现了这个用Python写九九乘法表用,然后认真分析了其中的for循环的内容,然后又想了想如果用while?其实while循环我写的比较潦草,不是很清楚。




实习编辑:王晓姣

作者:张雨平、裴晓松、刘湘

稿件来源:深度学习与文旅应用实验室(DLETA)

本文分享自微信公众号 - 算法与编程之美(algo_coding)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章