while循环和break,continue的使用以及while循环嵌套

程序的三大流程:
在程序开发中,一共有三种流程方式:

  • 顺序 —— 从上向下,顺序执行代码
  • 分支 —— 根据条件判断,决定执行代码的 分支
  • 循环 —— 让 特定代码 重复 执行
  • while语言基本用法
  • 初始条件设置 —— 通常是重复执行的 计数器
    while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    …(省略)…

    1. 定义重复次数计数器

i = 1

2. 使用 while 判断条件

while i <= 5:
# 要重复执行的代码
print(“Hello Python”)
# 处理计数器 i
i = i + 1
print(“循环结束后的 i = %d” % i)
处理条件(计数器 + 1)
赋值运算符中间不能使用空格**

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
//=取整除赋值运算符c //= a 等效于 c = c // a
%= (余数)赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a

循环计算

计算 0 ~ 100 之间所有数字的累计求和结果

0. 定义最终结果的变量

result = 0

1. 定义一个整数的变量记录循环的次数

i = 0

2. 开始循环

while i <= 100:
print(i)

# 每一次循环,都让 result 这个变量和 i 这个计数器相加
result += i

# 处理计数器
i += 1

print(“0~100之间的数字求和结果 = %d” % result)

-在循环过程中**,如果 某一个条件满足后 希望 执行循环代码,但是又不希望退出循环,可以使用 continue
-也就是:在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行
i = 0

while i < 10:

# 当 i == 7 时,不希望执行需要重复执行的代码
if i == 7:
    # 在使用 continue 之前,同样应该修改计数器
    # 否则会出现死循环
    i += 1

    continue

# 重复执行的代码
print(i)

i += 1

需要注意:使用 continue 时,条件处理部分的代码,需要特别注意,不小心会出现 死循环

循环的强化理解

三个必要的因素

  1. 循环的外部定义计数器
  2. 循环的条件根据需求定义
  3. 循环的内部对计数器进行修改

执行过程

验证循环的条件,如果为真,则进入循环,如果为假,则跳出循环

执行循环内部的代码直到内部代码结束

再次验证循环的条件,为真进入循环,为假,执行while代码块后的内容

循环的干扰

在循环的内部,如果遇到break,就会退出代码块,并且不会执行break后面的语句

如果遇到了continue,则会跳过本轮循环,进入到下一轮循环

递增星星
row = 1

while row <= 5:

# 假设 python 没有提供字符串 * 操作
# 在循环内部,再增加一个循环,实现每一行的 星星 打印
col = 1

while col <= row:
    print("*", end="")

    col += 1

# 每一行星号输出完成后,再增加一个换行
print("")  # 也可以直接print()

row += 1

定义起始行

row = 1

九九乘法表

while row <= 9:
# 定义起始列
col = 1

# 最大打印 row 列
while col <= row:

    # end = "",表示输出结束后,不换行
    # "\t" 可以在控制台输出一个制表符,协助在输出文本时对齐
    print("%d * %d = %d" % (col, row, row * col), end="\t")

    # 列数 + 1
    col += 1

# 一行打印完成的换行
print("")

# 行数 + 1
row += 1

递增递减星星

输出行

row = 1
line = int(input(‘请输入行号,奇数:’))
n = 0

七行,在第四行进行转折

while row <= line:
mid_line = (line+1)/2
if row >= mid_line+1:
n -= 1
else:
n = row
# print(’’ * n)
col = 1
while col <= n:
print(’
’, end=’’)
col +=1
print()
row += 1

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页