转载自品略图书馆 http://www.pinlue.com/article/2020/03/2702/0110101099944.html
知识框架
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 语句块 n10 11 # -*- coding:utf-8 -*-12 """13 @ 功能:输出玫瑰花语14 @ author:无语15 @ create:2018-4-1816 """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 -a10 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循环改进版)
1
2
3
4
5
6
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 # 可拍腿次数-1print("从1数到99共拍腿",total,"次。") # 显示拍腿次数
3.6 pass 空语句
pass表示空语句,它不做任何操作,一般起到占位作用。
实例
for i in range(1,10): if i%2 == 0: print(i,end = " ") else: pass