目录
运算符:
算术运算符:
比较运算符:
赋值运算符:
逻辑运算符:
位运算符:
成员运算符:
while循环:
1. while循环的语法:
2. while循环的执行过程:
3. while循环的特点:
4. 循环变量
5. 死循环
6. 练习打印直角三角形
6.1 直角三角形
6.2 倒直角三角形
7. 九九乘法表
7.1 正序九九乘法表
7.2 倒叙九九乘法表
for循环:
1. for循环基本语法:
2. for循环的 in 和 not in
3. range函数
4. break 和 continue
5. 循环嵌套
6. 循环结合else
7. 循环的else和break
8. 小案例: 密码合法判断
运算符:
算术运算符:
在Python中,算数运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。这些运算符在编程中非常常见,用于处理数字和其他可以进行数学运算的数据类型。
运算符 | 描述 |
---|---|
+ | 加法运算符,用于将两个数相加。 |
- | 减法运算符,用于从一个数中减去另一个数。 |
* | 乘法运算符,用于将两个数相乘。 |
/ | 除法运算符,用于将一个数除以另一个数。 |
// | 整数除法运算符,返回商的整数部分。 |
% | 取模运算符,返回两数相除的余数。 |
** | 幂运算符,用于计算一个数的幂。 |
代码示例:
# 1. 算术运算符
num_1 = 10
num_2 = 20
print("加法运算符:", num_1 + num_2) # + 加法运算符
print("减法运算符:", num_2 - num_1) # - 减法运算符
print("乘法运算符:", num_1 * num_2) # * 乘法运算符
print("除法运算符:", num_2 / num_1) # / 除法运算符 结果为浮点数
print("整除运算符:", num_2 // num_1) # // 整除运算符 结果为整数
print("取余运算符:", num_2 % num_1) # % 取余运算符
print("幂运算符:", num_2 ** num_1) # ** 幂运算符
运行结果:
比较运算符:
在Python中,比较运算符用于比较两个值,并返回一个布尔值(True或False)来表示这两个值之间的关系。这些运算符在条件判断、循环控制以及数据筛选等场景中非常有用。
运算符 | 描述 |
== | 等于运算符,用于判断两个值是否相等。 |
!= | 不等于运算符,用于判断两个值是否不相等。 |
> | 大于运算符,用于判断第一个值是否大于第二个值。 |
< | 小于运算符,用于判断第一个值是否小于第二个值。 |
>= | 大于等于运算符,用于判断第一个值是否大于或等于第二个值。 |
<= | 小于等于运算符,用于判断第一个值是否小于或等于第二个值。 |
示例代码:
# 2. 比较运算符
print("等于:", num_2 == num_1) # == 等于
print("不等于:", num_2 != num_1) # != 不等于
print("大于等于:", num_2 >= num_1) # >= 大于等于
print("小于等于:", num_2 <= num_1) # <= 小于等于
print("大于:", num_2 > num_1) # > 大于
print("小于:", num_2 < num_1) # < 小于
运行结果:
赋值运算符:
在Python中,赋值运算符用于将右侧的值或表达式的结果赋给左侧的变量。基本的赋值运算符是=
,它将右侧的值存储到左侧的变量中。除了基本的赋值运算符外,Python还提供了一些复合赋值运算符,这些运算符结合了赋值和算数或位运算。
运算符 | 描述 |
= | 基本的赋值运算符,用于将右侧的值赋给左侧的变量。 |
+= | 加法赋值运算符,将右侧的值加到左侧的变量上,并将结果存回左侧的变量。 |
-= | 减法赋值运算符,从左侧的变量中减去右侧的值,并将结果存回左侧的变量。 |
*= | 乘法赋值运算符,将左侧的变量乘以右侧的值,并将结果存回左侧的变量。 |
/= | 除法赋值运算符,将左侧的变量除以右侧的值,并将结果(可能是一个浮点数)存回左侧的变量。 |
//= | 整数除法赋值运算符,将左侧的变量进行整数除法运算(只保留商的整数部分),并将结果存回左侧的变量。 |
%= | 取模赋值运算符,将左侧的变量对右侧的值取模,并将结果存回左侧的变量。 |
**= | 幂赋值运算符,将左侧的变量提升为右侧值的幂,并将结果存回左侧的变量。 |
示例代码:
# 3. 赋值运算符
num_1 = 30 # = 赋值运算符
print("赋值运算符:", num_1)
num_1 += 1 # += 加法赋值运算符 num_1 = num_1 + 1
print("加法赋值运算符:", num_1) # 31
num_1 -= 1 # -= 减法赋值运算符 num_1 = num_1 - 1
print("减法赋值运算符:", num_1) # 30
num_1 *= 1 # *= 乘法赋值运算符 num_1 = num_1 * 1
print("乘法赋值运算符:", num_1) # 30
num_1 /= 1 # /= 除法赋值运算符 num_1 = num_1 / 1
print("除法赋值运算符:", num_1) # 30.0
num_1 %= 1 # %= 取余赋值运算符 num_1 = num_1 % 1
print("取余赋值运算符:", num_1) # 0
num_1 **= 1 # **= 幂赋值运算符 num_1 = num_1 **
print("幂赋值运算符:", num_1) # 30
num_1 //= 1 # //= 整除赋值运算符 num_1 = num_1 // 1
print("整除赋值运算符:", num_1) # 30
运行结果:
逻辑运算符:
在Python中,逻辑运算符主要用于比较两个或多个条件,并根据这些条件的结果返回一个布尔值(True或False)。逻辑运算符在控制语句(如if语句和while循环)中经常被使用,用于控制程序的流程,进行条件判断和逻辑运算。
运算符 | 描述 |
and | 逻辑与运算符。它用于检查所有操作数是否都为True。只有当所有操作数都为True时, |
or | 逻辑或运算符。它用于检查所有操作数中是否至少有一个为True。只要有一个操作数为True, |
not | 逻辑非运算符。它用于对单个操作数进行取反。如果操作数为True, |
示例代码:
# 4. 逻辑运算符
print("and 逻辑运算符:", True and False) # and 逻辑运算符
print("or 逻辑运算符:", True or False) # or 逻辑运算符
print("not 逻辑运算符:", not True) # not 逻辑运算符
运行结果:
位运算符:
在Python中,位运算符直接对整数类型的数据的二进制位进行操作。这些运算符允许你执行诸如设置、清除或切换特定位等操作,这在低级编程、性能优化或硬件交互等场景中可能非常有用
运算符 | 描述 |
$ | 按位与运算符,对两个操作数的每个位执行逻辑与操作,只有当两个操作数的对应位都为1时,结果的对应位才为1。 |
| | 按位或运算符,对两个操作数的每个位执行逻辑或操作,只要两个操作数的对应位中有一个为1,结果的对应位就为1。 |
^ | 按位异或运算符,对两个操作数的每个位执行逻辑异或操作,当两个操作数的对应位不同时,结果的对应位为1,否则为0。 |
~ | 按位取反运算符,对操作数的每个位执行逻辑取反操作,即0变为1,1变为0。 |
<< | 左移运算符,将一个整数的二进制表示向左移动指定的位数。 |
>> | 右移运算符,将一个整数的二进制表示向右移动指定的位数。 |
示例代码:
# 5. 位运算符
print("& 位与运算符:", 1 & 1) # & 位与运算符
print("| 位或运算符:", 1 | 1) # | 位或运算符
print("^ 位异或运算符:", 1 ^ 1) # ^ 位异或运算符
print("~ 位取反运算符:", ~1) # ~ 位取反运算符
print("<< 左移运算符:", 1 << 1) # << 左移运算符
print(">> 右移运算符:", 1 >> 1) # >> 右移运算符
运行结果:
成员运算符:
在Python中,成员运算符主要用来检查一个元素是否是另一个容器(如列表、元组、字典、集合或字符串)的成员。这通过in
和not in
两个运算符实现。
运算符 | 描述 |
in | 判断元素是否存在于容器中,如果指定的元素在容器中,返回 |
not in | 判断元素是否不存在于容器中,如果指定的元素不在容器中,返回 |
示例代码:
# 6. 成员运算符
print("in 成员运算符:", 1 in [1, 2, 3]) # in 成员运算符
print("not in 成员运算符:", 1 not in [1, 2, 3]) # not in 成员运算符
运行结果:
while循环:
1. while循环的语法:
while 循环条件:
循环体
2. while循环的执行过程:
1) 首先判断循环条件是否为真,如果为真,则执行循环体 2) 执行完循环体后,再次判断循环条件是否为真,如果为真,则继续执行循环体 3) 如果循环条件为假,则退出循环
3. while循环的特点:
1) 循环条件可以是任意的表达式 2) 循环体可以是一个语句,也可以是多条语句 3) 循环体可以包含break语句和continue语句 4) 循环体可以嵌套其他循环
4. 循环变量
循环变量是用来记录循环次数的变量 i 就是循环变量 作用:用来控制程序什么时候停下来
i = 0
while i <= 10:print(i)i += 1
5. 死循环
死循环指的是程序持续执行,无法终止。原因通常是忘记在循环内部修改循环变量的值
while True:print("Hello World!")
6. 练习打印直角三角形
6.1 直角三角形
* * * * * * * * * * * * * * *思路: 1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i和j都从0开始,每次循环都加14) 循环条件是 i <= 5 和 j <= i5) 循环体是 print("*", end=" ")6) 循环体执行完后,打印一个换行符
代码实现:
i = 0
while i <= 5:j = 0while j <= i:print("*", end=" ")j += 1print()i += 1
运行结果:
6.2 倒直角三角形
* * * * * * * * * * * * * * *思路: 1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i从5开始,每次循环都减1,j从0开始,每次循环都加14) 循环条件是 i >= 0 和 j <= i5) 循环体是 print("*", end=" ")6) 循环体执行完后,打印一个换行符
代码实现:
i = 5
while i >= 0:j = 0while j <= i:print("*", end=" ")j += 1print()i -= 1
运行结果:
7. 九九乘法表
7.1 正序九九乘法表
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 .....思路: 1) 循环变量i控制行数2) 循环变量j控制列数3) 循环变量i和j都从1开始,每次循环都加14) 循环条件是 i <= 9 和 j <= i5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")6) 循环体执行完后,打印一个换行符
代码实现:
i = 1
while i <= 9:j = 1while j <= i:print(f'{i} * {j} = {i * j}', end="\t")j += 1print()i += 1
运行结果:
7.2 倒叙九九乘法表
...... 6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6 5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5 4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4 3 * 3 = 9 3 * 2 = 6 3 * 1 = 3 2 * 2 = 4 2 * 1 = 2 1 * 1 = 1思路: 1) 循环变量i控制行数2) 循环变量控制列数3) 循环变量i从9开始,每次循环都减1,j从1开始,每次循环都加14) 循环条件是 i >= 0 和 j <= i5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")6) 循环体执行完后,打印一个换行符
代码实现:
i = 9
while i >= 0:j = 1while j <= i:print(f'{i} * {j} = {i * j}', end="\t")j += 1print()i -= 1
运行结果:
for循环:
1. for循环基本语法:
for 变量 in 序列: 循环体
# 1. for循环的基本语法
arr = [1, 2, 3, 4, 5]
for i in arr:print(i)
2. for循环的 in 和 not in
- in 操作符用于判断元素是否存在于容器中,如果在容器中,返回 True,否则返回 False - not in 操作符用于判断元素是否不存在于容器中,如果不在容器中,返回 True,否则返回 False
# 判断元素是否存在于容器中 in
print(1 in arr)
print(6 in arr)# 判断元素是否不存在于容器中 not in
print(1 not in arr)
print(6 not in arr)
3. range函数
作用: range() 可创建一个整数列表。range()相当于数学中的左闭右开区间(包含左,不包含右) - range(start, stop, step) 参数说明:start: 起始值stop: 结束值step: 步长
for i in range(1, 10): # 1,2,3,4,5,6,7,8,9print(i)for i in range(1, 10, 2): # 步长为2 1,3,5,7,9print(i)for i in range(10, 1, -1): # 步长为-1 10,9,8,7,6,5,4,3,2,1 倒序print(i)for i in range(10, 1, -2): # 步长为-2 10,8,6,4,2 倒序print(i)
4. break 和 continue
- 在循环体中,使用break语句,可以跳出循环 - 在循环体中,使用continue语句,可以跳过循环体中剩余的语句,继续下一轮循环
for i in range(1, 10):if i == 5:break # i为 5 时,跳出循环 不再执行循环体中的语句print(i)for i in range(1, 10):if i == 5:continue # i为 5 时,跳过循环体中剩余的语句,继续下一轮循环print(i)
5. 循环嵌套
- 在循环体中,可以嵌套其他循环
for i in range(1, 10):for j in range(1, 10):print(i, j)
6. 循环结合else
- 循环结合else,当循环正常结束时,执行else语句 - 循环结合else,当循环提前结束时,不执行else语句
for i in range(1, 10):if i == 5:print(i)
else:print('循环正常结束')
7. 循环的else和break
- 循环体中,使用break语句,可以跳出循环,但是不会执行else语句
for i in range(1, 10):if i == 5:# 循环体中,使用break语句,可以跳出循环,但是不会执行else语句breakprint(i)
else:print('循环正常结束')
8. 小案例: 密码合法判断
需求 判断登录密码2569#@!23是否合法。 1. 密码必须是数字、字母(大小写都可以)、和下划线,否则不合法 2. 如果密码合法,就输出"密码合法
代码实现:
# 1.定义密码
password = '2569#@!23'
# password = '2569'# 2.定义容器:保存所有的数字 字母 _
container = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'
# 3. 遍历密码
for i in password:if i not in container:print(f"密码不合法, 不允许包含{i}")break
else:print("密码合法")
运行结果: