Python流程控制语句

知识框架
 
3.1 程序结构
3.2.1 if语句
if 语句的基本用法如下:
 1 if 表达式:
 2     语句块
 3 # -*- coding:utf-8 -*-
 4  
 5 '''
 6    @ 功能:判断输入的是不是黄蓉所说的数
 7    @ author:无语
 8    @ create:2017-11-11
 9  
10 '''    
11 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
12 number = int(input("请输入您认为符合条件的数:"))     # 输入一个数
13 if number%3 ==2 and number%5 ==3 and number%7 ==2:
14     print(number,"符合条件:三三数之剩二,五五数之剩三,七七数之剩二")
其中, 表达式可以是一个单纯的布尔值或变量, 也可以是比较表达式或逻辑表达式(例
如: a > band a != c), 如果表达式为真, 则执行“语句块”; 如果表达式的值为假, 就跳
过“语句块”, 继续执行后面的语句。
 
3.2.2 if…else 语句
if…else 语句的基本用法如下:
 1 if 表达式:
 2     语句块 1
 3 else:
 4     语句块 2
 5 # _*_ coding:utf-8 _*_
 6 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
 7 number = int(input("请输入瑛姑给出的数:"))         # 输入一个数
 8 if number%3 ==2 and number%5 ==3 and number%7 ==2:  # 判断是否符合条件
 9     print(number,"符合条件")
10 else:                                               # 不符合条件
11     print(number,"不符合条件") 
使用 if…else 语句时, 表达式可以是一个单纯的布尔值或变量, 也可以是比较表达式或
逻辑表达式, 如果满足条件, 则执行 if 后面的语句块, 否则, 执行 else 后面的语句块。 在
使用 else 语句时, else 一定不可以单独使用, 它必须和保留字 if 一起使用。
 
3.2.3 if…elif…else 语句
if…elif…else 语句的基本用法如下:
 1 if 表达式 1:
 2     语句块 1
 3 elif 表达式 2:
 4     语句块 2
 5 elif 表达式 3:
 6     语句块 3
 7  8 else:
 9     语句块 n
10  
11 # -*- coding:utf-8 -*-
12 '''
13    @ 功能:输出玫瑰花语
14    @ author:无语
15    @ create:2018-4-18
16 '''
17 print("在古希腊神话中,玫瑰集爱与美于一身。人们常用玫瑰来表达爱情。")
18 print("送不同朵数的玫瑰花代表的含义也不同。\n")
19 number = int(input("输入您想送几朵玫瑰花,小默会告诉您含义:"))    # 获取用户输入的朵数,并转换为整型
20 if number == 1:                 # 判断输入的数是否为1,代表1朵
21     # 如果等于1则输出提示信息
22     print("1朵:你是我的唯一!")
23 elif number == 3:    # 判断是否为3朵
24     print("3朵:I Love You!")
25 elif number == 10:     # 判断是否为10朵
26     print("10朵:十全十美!")
27 elif number == 99:    # 判断是否为99朵
28     print("99朵:天长地久!")
29 elif number == 108:    # 判断是否为108朵
30     print("108朵:求婚!")
31 else:
32     print("小默也不知道了!可以考虑送1朵、3朵、10朵、99朵或108朵呦!")

 

使用 if…elif…else 语句时, 表达式可以是一个单纯的布尔值或变量, 也可以是比较表达
式或逻辑表达式, 如果表达式为真, 执行语句; 而如果表达式为假, 则跳过该语句, 进行下
一个 elif 的判断, 只有在所有表达式都为假的情况下, 才会执行 else 中的语句。
 
3.2.4 if语句的嵌套
 1 if 表达式 1:
 2     if 表达式2:
 3         语句块1
 4     else:
 5         语句块2
 6 else:
 7     if 表达式3:
 8         语句块3
 9 实例
10 print("\n为了您和他人的安全,严禁酒后开车!\n")
11 proof = int(input("请输入每100毫升血液的酒精含量:"))   # 获取用户输入的酒精含量,并转换为整型
12 if proof <20:                       # 酒精含量小于20,不构成饮酒行为
13     print("\n您还不构成饮酒行为,可以开车,但要注意安全!")
14 else:                               # 酒精含量大于等于20,已经是饮酒行为
15     if 80 > proof >=20:             # 酒精含量大于等于20,但小于80,属于酒后驾驶
16            print("\n已经达到酒后驾驶标准,请不要开车!")
17     else:                           # 酒精含量大于等于80,属于醉酒驾驶
18         print("\n已经达到醉酒驾驶标准,千万不要开车!") 
 
3.3 条件表达式
if …else语句可以使用条件表达式进行简化
 1 a = -9
 2 if a > 0:
 3     b = a
 4 else:
 5     b = -a
 6 print(b)
 7 #可以简写成
 8 a = -9
 9 b = a if a>0 else -a
10 print(b)

 

使用条件表达式时,先计算中间的条件,如果结果为True,返回if语句左边的值,否则返回else右边的值。
 
3.4 循环语句
3.4.1 while 循环
while 语句的基本用法如下:
while 条件表达式:
    循环体
当条件表达式的返回值为真时, 则执行循环体中的语句, 执行完毕后, 重新判断条件表
达式的返回值, 直到表达式返回的结果为假时, 退出循环。
注意:在使用while循环语句时,一定不要忘记添加将循环条件改变为False的代码,否则,将产生死循环。
实例:
print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
none = True                                                # 作为循环条件的变量
number = 0                                                  # 计数的变量
while none:
    number += 1                                             # 计数加1
    if number%3 ==2 and number%5 ==3 and number%7 ==2:  # 判断是否符合条件
        print("答曰:这个数是",number)                      # 输出符合条件的数
        none = False                                        # 将循环条件的变量赋值为否
 
3.4.2 for 循环
for 语句的基本用法如下:
for 迭代变量 in 对象:
    循环体
其中, 迭代变量用于保存读取出的值; 对象为要遍历或迭代的对象, 该对象可以是任何
有序的序列对象, 如字符串、 列表和元组等; 循环体为一组被重复执行的语句。
实例:
print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
for number in range(100):
    if number%3 ==2 and number%5 ==3 and number%7 ==2:   # 判断是否符合条件
        print("答曰:这个数是",number)                       # 输出符合条件的数
 
range(start,end,step) #语法格式
3.4.3 循环嵌套
 
# -*- coding:utf-8 -*-
'''
   @ 功能:打印九九乘法表
'''
 
for i in range(1,10):         # 输出9行
    for j in range(1, i + 1):      # 输出与行数相等的列
        print(str(j) + "×" + str(i) + "=" + str(i * j) + "\t",end = '')
    print('')                    # 换行
 
3.5.1 break 语句
break语句可以终止当前的循环,包括while和for在内的所有控制语句。
在 while 语句中使用 break 语句的形式如下:
while 条件表达式 1:
    执行代码
    if 条件表达式 2:
        break

 

其中, 条件表达式 2 用于判断何时调用 break 语句跳出循环。
在 for 语句中使用 break 语句的形式如下:
for 迭代变量 in 对象:
    if 条件表达式:
        break

 

其中, 条件表达式用于判断何时调用 break 语句跳出循环。
实例:解决黄蓉难倒瑛姑的数学题(for循环改进版)
print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
for number in range(100):
##    print(number)
    if number%3 ==2 and number%5 ==3 and number%7 ==2:   # 判断是否符合条件
        print("答曰:这个数是",number)                       # 输出符合条件的数
        break          # 跳出for循环
 
3.5.1 continue 语句
continue语句的作用没有break语句强大,它只能终止本次循环而提前进入到下一次循环中。
在 while 语句中使用 continue 语句的形式如下:
while 条件表达式 1:
    执行代码
    if 条件表达式 2:
        continue

 

其中, 条件表达式 2 用于判断何时调用 continue 语句跳出循环。
在 for 语句中使用 continue 语句的形式如下:
for 迭代变量 in 对象:
    if 条件表达式:
        continue

 

其中, 条件表达式用于判断何时调用 continue 语句跳出循环。
实例:模拟逢七拍腿游戏
total = 99                         # 记录拍腿次数的变量
for number in range(1,100):       # 创建一个从1到100(不包括)的循环
    if number % 7 ==0:            # 判断是否为7的倍数
        continue                  # 继续下一次循环
    else:
        string = str(number)      # 将数值转换为字符串
        if string.endswith('7'):  # 判断是否以数字7结尾
            continue              # 继续下一次循环
    total -= 1                    # 可拍腿次数-1
print("从1数到99共拍腿",total,"次。")  # 显示拍腿次数
 
3.6 pass 空语句
pass表示空语句,它不做任何操作,一般起到占位作用。
实例
for i in range(1,10):
    if i%2 == 0:
        print(i,end = ' ')
    else:
        pass

 

posted @ 2020-03-20 15:11  李先森°  阅读(569)  评论(0编辑  收藏  举报