Python之循环结构控制语句(while、if)

目录

  • 引言
  • while语句
          • 案例
      • while...else循环语句
      • 避免死循环问题
  • for语句
          • 案例
      • 通过序列索引迭代
      • for...else循环语句
          • 案例
  • 循环控制语句(break、continue)
      • break语句
      • continue语句

引言

循环结构是在给定的判断条件为真(包括非零、非空)时,重复执行某些操作;判断条件为假(包括零、空)时,结束循环。Python语言中的循环结构包括两种语句,分别是while语句和for语句。下面我们来学习这两种循环结构控制语句的用法及案例,还有break和continue两种循环中断语句。


while语句

在Python中,while循环常用来解决循环次数不确定的问题。while语句由关键字while、条件表达式、冒号、循环体构成,其基本格式如下:

while 条件表达式:
     循环体

在while循环中,当条件表达式为真时执行后面的语句,一直到条件为假时退出循环。
如果第一次条件表达式为假,则while循环将被忽略;如果条件表达式一直为真,则while循环将一直执行。

Python之循环结构控制语句(while、if)_第1张图片
案例

如果觉得上面语法讲的抽象,那来康康下面几道实例就容易理解了!!!

1、循环输出整数0到5。

number = 0
while number <= 5:
    print('当前数字为:',number)
    number +=1

2、计算并输出小于等于200的所有正偶数之和。

# 法一
number = 2
sum = 0
while number <= 200:
    sum = sum + number
    number += 2
print('小于等于200的所有正偶数之和:',sum)

# 法二
number = 1
sum = 0
while number <= 200:
    if number % 2 ==0:
        sum = sum + number
    number += 1
print('小于等于200的所有正偶数之和:',sum)

3、输入公司某商品的订单销售额,并对输入的销售额累加求和,当输入的值小于等于0时终止该操作。

sum = 0
sales = float(input('请输入商品的订单销售额:'))
while sales > 0:
    sum = sum + sales
    sales = float(input('请输入商品的订单销售额:'))
print('商品销售总额:',sum)


  • while…else循环语句

在while语句的循环体中要包含改变测试条件的语句,以保证循环能够结束,避免死循环的出现。while语句与if语句有相同的条件测试语句:如果条件为真,就执行循环体;如果条件为假,则终止循环。下面是while…else具体语法格式:

   while  条件表达式:
   	   语句1
   else:
       语句2

4、循环输出整数0到5,当值大于5时用else退出循环。

number = 0
while number <= 5:
    print('当前数字为:',number)
    number +=1
else:
    print('当前数字大于等于5,该数字为:',number)


  • 避免死循环问题

死循环也称为无限循环,是指这个循环将一直执行下去。在使用while语句构造循环语句时,最容易出现的问题是测试条件永远为真,导致死循环。要避免编写无限循环,务必对每个while循环进行测试,确保它按预期结果结束。
如果程序陷入无限循环,可按 Ctrl+C 中断死循环,或者可关闭显示程序输出的终端窗口。

5、下面演示一个while无限循环案例

x = 1
while x <= 5:
    print(x)

在上述代码中,因为循环条件变量x的值永远为1,所以该条件永远为true,造成循环无限执行下去,就陷入了死循环。



for语句

for语句通过遍历一个序列(字符串、列表、元组)或可迭代对象中的每个元素建立循环。
其基本语法格式如下:

for 变量 in 序列或可迭代对象:
    循环体

遍历for语句中的序列或可迭代对象,每经过一次循环,循环变量就会得到序列或可迭代对象中的一个值,可以在循环体中处理它。在一般情况下,当遍历对象中的值全部用完时,就会自动退出循环。

案例

6、下面使用for循环来打印不同的颜色。

colors = ['blue','pink','green','red']
for color in colors:
    print(color)


  • 通过序列索引迭代

在Python语言中,还可以通过序列索引迭代的方式实现循环功能。在具体实现时,可以借助于内置函数 range() 实现。下面是 range() 的语法格式:

  range(start,stop[,step])

Explain:

  1. start: 可迭代对象的开始值为start,默认从0开始,如 range(5)等价于 range(0,5)。
  2. stop: 可迭代对象到 stop 结束,但不包括 stop,如 range(0,5)产生包含0,1,2,3,4的可迭代对象,但没有5。
  3. step: 步长,表示所产生的可迭代对象元素之间的间隔,默认为1,如range(0,5) 等价于 range(0,5,1)。

7、下面来康康 range() 的四个小实例

for i in range(10):
    print(i)

for i in range(0,10):
    print(i,end=' ')

for i in range(0,20,2):
    print(i,end=' ')

colors = ['blue','pink','green','red']
for i in range(len(colors)):
    print(colors[i],end=' ')


  • for…else循环语句

基本语法格式:

   for 变量 in 序列或可迭代对象:
       语句体1
   else:
       语句体2
案例

8、有一个列表 sales = [5000,3000,8000,10600,6000,5000]。该列表中的元素依次表示某产品1-6月的销售额。请用 for 循环遍历该列表,找到第一个销售额大于等于6000 的元素,并打印该元素的值。如未找到,则输出“未找到”。

sales = [5000,3000,8000,10600,6000,5000]
for i in sales:
    if i >= 6000:
        print('第一个销售额大于等于6000的元素:',i)
        break
else:
    print('未找到!')


循环控制语句(break、continue)

  • break语句

break语句可以用在 while 和 for 循环中。在循环进行过程中,如果某个条件被满足,则可以通过 break 语句立即终止本层循环;如果 break 语句有两层循环嵌套的内层循环中,则只终止内层循环,进入外层循环的下一条语句继续执行。

  • continue语句

continue语句也可以用在 while 和 for 循环中。在循环体执行过程中,如遇到 continue 语句,程序会跳出本次循环体剩余语句,回到循环开始的地方重新判断是否进入下一次循环。


9、下面两段代码有助于我们区别 break 和 continue 的语句,注意观察运行结果。

# 使用 break 语句
colors = ['blue','pink','green','red','black','white']
for color in colors:
    if color == 'red':
        break
    print(color)
    
# 使用 continue 语句
colors = ['blue','pink','green','red','black','white']
for color in colors:
    if color == 'red':
        continue
    print(color)

你可能感兴趣的:(Python基础语法,python,编程语言)