一、条件语句
1、if 判断语句
语法
代码的缩进为⼀个 tab 键,或者 4 个空格
示例
注意:将数字型数据直接作为判断条件时,⾮0数即为True, 0为False
num = int(input("请输⼊数字:")) if num: print("数字⾮0") else: print("数字为0")
⼀对 if 和 else 可以让代码执⾏出 两种不同的结果
if 条件1: 条件1满⾜执⾏的代码 …… elif 条件2: 条件2满⾜时,执⾏的代码 …… elif 条件3: 条件3满⾜时,执⾏的代码 …… else: 以上条件都不满⾜时,执⾏的代码 ……
二、循环
1、while循环
循环的作⽤就是让 指定的代码 重复的执⾏
while 循环最常⽤的应⽤场景就是 让执⾏的代码 按照 指定的次数 重复 执⾏
语法:
变量设置初始值 while 条件(判断 变量是否满⾜条件): 条件满⾜时,做的事情1 条件满⾜时,做的事情2 条件满⾜时,做的事情3 ...(省略)... 修改变量
示例
# 1. 定义重复次数计数器 i = 1 # 2. 使⽤ while 判断条件 while i <= 10000: # 要重复执⾏的代码 print("媳妇⼉,我错了") # 处理计数器 i i = i + 1
死循环:由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!
2、Python 中的计数⽅法
常⻅的计数⽅法有两种,可以分别称为:
⾃然计数法(从 1 开始)—— 更符合⼈类的习惯
程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数
因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则 循环 的计数都从 0 开始
示例:计算 0 ~ 100 之间 所有 偶数 的累计求和结
i = 1 sum = 0 while i<=100: if i % 2 == 0: sum = sum + i i+=1 print("1~100的累积和为:%d"%sum)
3、break 和 continue
break 和 continue 是专⻔在循环中使⽤的关键字
continue 某⼀条件满⾜时,不再执⾏本次循环体中后续重复的代码,但进⼊下⼀次循环判断 ,不退出循环
4、循环嵌套
while 嵌套就是: while ⾥⾯还有 while
示例1:使⽤循环嵌套打印⼩星星
知识点 对 print 函数的使⽤做⼀个增强
在默认情况下, print 函数输出内容之后,会⾃动在内容末尾增加换⾏
如果不希望末尾增加换⾏,可以在 print 函数输出内容的后⾯增加 , end=""
其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容
语法格式如下:
# 向控制台输出内容结束之后,不会换⾏ print("*", end="") # 单纯的换⾏ print("")
end="" 表示向控制台输出内容结束之后,不会换⾏
row = 1 while row <= 5: # 假设 python 没有提供字符串 * 操作 # 在循环内部,再增加⼀个循环,实现每⼀⾏的 星星 打印 col = 1 while col <= row: print("*", end="") col += 1 # 每⼀⾏星号输出完成后,再增加⼀个换⾏ print("") row += 1
结果
* ** *** **** *****
示例2:九九乘法表
字符串中的转义字符
\t 在控制台输出⼀个 制表符,协助在输出⽂本时 垂直⽅向 保持对⻬,但不会换⾏
\n 在控制台输出⼀个 换⾏符
制表符 的功能是在不使⽤表格的情况下在 垂直⽅向 按列对⻬⽂本
代码如下:
# 定义起始⾏ row = 1 # 最⼤打印 9 ⾏ 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
5、for .. else 语法
for 变量 in 集合:
循环体代码
else:
没有通过 break 退出循环,循环结束后,会执⾏的代码
示例
在 迭代遍历 嵌套的数据类型时,例如 ⼀个列表包含了多个字典
需求:要判断 某⼀个字典中 是否存在 指定的 值
如果 存在,提示并且退出循环
如果 不存在,在 循环整体结束 后,希望 得到⼀个统⼀的提示
students = [
{"name": "阿⼟", "age": 20, "gender": True, "height": 1.7, "weight": 75.0},
{"name": "⼩美", "age": 19, "gender": False, "height": 1.6, "weight": 45.0},
]
find_name = "阿⼟"
for stu_dict in students:
print(stu_dict)
# 判断当前遍历的字典中姓名是否为find_name
if stu_dict["name"] == find_name:
print("找到了")
# 如果已经找到,直接退出循环,就不需要再对后续的数据进⾏⽐较
break
else:
print("没有找到")
print("循环结束")
6、range
返回一个对象,该对象根据步长从开始位置到结束位置生成一个整数序列,类似列表
作用:配合for循环进行计数
格式:range(开始位置,结束位置,步长) 左闭右开
res = range(5) # 默认从0开始,结束位置不包含 print(res) for i in res: print(i)
结果:
开始位置默认从0开始,所以range(5)与range(0,5)是一样的。步长默认为1,所以range(0,5)与range(0,5,1)是一样的。
公式:下一个要生成的整数 = 当前整数 + 步长
注意:
步长如果为正值时,开始位置应该小于结束位置
步长如果为负值时,开始位置应该大于结束位置
使用:
for i in range(10): print(i)
三、随机数处理
在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数
random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b
例如:
random.randint(12, 20) # ⽣成的随机数n: 12 <= n <= 20 random.randint(20, 20) # 结果永远是 20 random.randint(20, 10) # 该语句是错误的,下限必须⼩于上限