python中while循环的使用方法–含代码实战
上图为while循环的使用逻辑
实战代码 1
当我们想要打印1-10的数字的时候,第一反应是如下,代码逻辑为:
设置变量num初始值为1;
然后打印num;
再将num加1;
再打印num;
一直循环相加并打印,这样的代码并不简洁
# 打印1-10的数字
num = 1
print(num)
num = num + 1
print(num)
代码优化,使用while循环,如下所示
num = 1
while num <= 10:
print(num)
num += 1 # 此处代码缩进要属于while范围内
代码逻辑:设置变量num,初始值为1;
执行while循环:
当num小于等于10的时候;
打印num;
然后将num再加一;
再进入while中判断num与10的大小,当num小于等于10的时候,再打印num,再将num加一;
直至num不满足小于等于10,退出循环。
代码实战 2
想要打印如下图所示的三角形图形。
首先分析一下图形规律:
具体代码如下:
# 打印三角形
# 每行打印*的个数=2*行号-1
# 左侧打印的空格数=总行数-行号
i = 1 # 控制行号
n = 4 # 控制总行数
while i <= n: # 外层循环,控制打印的总行数
print(" "*(n-i), end = "") # 打印出n-i个空格,并且不换行
j = 1 # 用来控制*个数
while j <= 2*i-1: # 内层循环,控制每行打印的星号个数
print("*", end="") # 打印出星号,星号的个数由while的循环决定
j += 1
print("") # 用来换行
i += 1 # 换行后,行号加一,再次进入while循环中
输出结果
或者,上述打印三角形的代码,也可以这样写
# 打印三角形
# 每行打印*的个数=2*行号-1
# 左侧打印的空格数=总行数-行号
i = 1 # 控制行号
n = 4 # 控制总行数
while i <= n: # 外层循环,控制打印的总行数
print(" "*(n-i), end = "")
print("*"*(2*i-1), end="")
print("") # 打印一个空行
i += 1
输出结果仍然一样,不同的地方在于,中间不再使用while循环,而是,直接使用print(),设置好需要打印的星号的个数。