python基础知识三(运算符、while循环、for循环)

目录

运算符:

算术运算符:

比较运算符:

赋值运算符:

逻辑运算符:

位运算符:

成员运算符:

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时,and运算符才返回True,否则返回False。

or

逻辑或运算符。它用于检查所有操作数中是否至少有一个为True。只要有一个操作数为True,or运算符就返回True,否则返回False。

not

逻辑非运算符。它用于对单个操作数进行取反。如果操作数为True,not运算符返回False;如果操作数为False,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中,成员运算符主要用来检查一个元素是否是另一个容器(如列表、元组、字典、集合或字符串)的成员。这通过innot in两个运算符实现。

运算符

描述

in

判断元素是否存在于容器中,如果指定的元素在容器中,返回True,否则返回False

not in

判断元素是否不存在于容器中,如果指定的元素不在容器中,返回True,否则返回False

示例代码:

# 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开始,每次循环都加1
       4) 循环条件是 i <= 5 和 j <= i
       5) 循环体是 print("*", end=" ")
       6) 循环体执行完后,打印一个换行符

代码实现:

i = 0
while i <= 5:
    j = 0
    while j <= i:
        print("*", end=" ")
        j += 1
    print()
    i += 1

 运行结果:

6.2 倒直角三角形

* * * * *
* * * *
* * *
* *
*

思路:  1) 循环变量i控制行数
       2) 循环变量j控制列数
       3) 循环变量i从5开始,每次循环都减1,j从0开始,每次循环都加1
       4) 循环条件是 i >= 0 和 j <= i
       5) 循环体是 print("*", end=" ")
       6) 循环体执行完后,打印一个换行符

代码实现:

i = 5
while i >= 0:
    j = 0
    while j <= i:
        print("*", end=" ")
        j += 1
    print()
    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开始,每次循环都加1
       4) 循环条件是 i <= 9 和 j <= i
       5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")
       6) 循环体执行完后,打印一个换行符

代码实现:

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f'{i} * {j} = {i * j}', end="\t")
        j += 1
    print()
    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开始,每次循环都加1
       4) 循环条件是 i >= 0 和 j <= i
       5) 循环体是 print(f'{i} * {j} = {i * j}', end="\t")
       6) 循环体执行完后,打印一个换行符

代码实现:

i = 9
while i >= 0:
    j = 1
    while j <= i:
        print(f'{i} * {j} = {i * j}', end="\t")
        j += 1
    print()
    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,9
    print(i)

for i in range(1, 10, 2):  # 步长为2 1,3,5,7,9
    print(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语句
        break
    print(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("密码合法")

运行结果:

上一篇:java实现解析html获取图片或视频url


下一篇:定制自己的 AI 角色CustomChar;AI知识点和面试题;提高llama 3 的微调速度Unsloth