python基础day-04:循环关键字break,continue和位运算详解

1.break的用法

​ break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。

​ 这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。

例如:

add = "https://mp.csdn.net/console/article"
# 一个简单的for循环
for i in add:
    if i == '.' :
        #终止循环
        break
    print(i,end="")
print("\n执行循环体外的代码")

运行结果为:

https://mp
执行循环体外的代码

分析上面程序不难看出,当循环至 add 字符串中的逗号(. )时,程序执行 break 语句,其会直接终止当前的循环,跳出循环体。

break 语句一般会结合 if 语句进行搭配使用,表示在某种条件下跳出循环体。

注意,通过前面的学习我们知道,for 循环后也可以配备一个 else 语句。这种情况下,如果使用 break 语句跳出循环体,不会执行 else 中包含的代码。举个例子:

add = "https://mp.csdn.net/console/article"
for i in add:
    if i == '.' :
        #终止循环
        break
    print(i,end="")
else:
    print("执行 else 语句中的代码")
print("\n执行循环体外的代码")

程序执行结果为:

https://mp
执行循环体外的代码

从输出结果可以看出,使用 break 跳出当前循环体之后,该循环后的 else 代码块也不会被执行。但是,如果将 else 代码块中的代码直接放在循环体的后面,则该部分代码将会被执行。

另外,对于嵌套的循环结构来说,break 语句只会终止所在循环体的执行,而不会作用于所有的循环体。举个例子:

add = "https://mp.csdn.net/console/article"
for i in range(3):
    for j in add:
        if j == '.':
            break   
        print(j,end="")
    print("\n跳出内循环")

程序执行结果为:

https://mp
跳出内循环
https://mp
跳出内循环
https://mp
跳出内循环

分析上面程序,每当执行内层循环时,只要循环至 add 字符串中( . )就会执行 break 语句,它会立即停止执行当前所在的内存循环体,转而继续执行外层循环。

2.continue的用法

​ 和 break 语句相比,continue 语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。

​ 仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。

​ continue 语句的用法和 break 语句一样,只要 while 或 for 语句中的相应位置加入即可。例如:

add = "https://mp.csdn.net/console/article"
# 一个简单的for循环
for i in add:
    if i == ',' :
        # 忽略本次循环的剩下语句
        print('\n')
        continue
    print(i,end="")

运行上面程序,将看到如下运行结果:

https://mp
csdn
net/console/article

可以看到,当遍历 add 字符串至( . )时,会进入 if 判断语句执行 print() 语句和 continue 语句。其中,print() 语句起到换行的作用,而 continue 语句会使python 解释器忽略执行第 8 行代码,直接从下一次循环开始执行。

3.进制

计算存储数据只是存储二进制数据
(计算机只有存储数字的能力,并且存的是这个数字二进制补码)

1)十进制
基数:0,1,2,3,4,5,6,7,8,9
进位:
位权:
程序中的表达式:
2)二进制
基数:0,1
进位:逢2进1
位权:
程序中表达方式:0b1101 0B1010
bin() 将其他的进制转化成二进制
3)八进制
基数:0,1,2,3,4,5,6,7
进位:逢8进1
位权:
程序中表达方式 0o75
oct()
4)十六进制
基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
进位:
位权:
程序中表达方式:0xacdd

原码。反码、补码
正数的原码、补码、反码一样
原码:符号位+真值
10的真值:01010
真值数字绝对位的二进制,符号位:0 表示正, 1 表示负
10的原码01010 -10的原码 11010
(计算机中10的原码:0000 1010, -10的原码是: 10001010)
-10的反码是: 1111 0101
-10的补码是: 1111 0110
2)反码 – 符号位不变,其它位取反
3)补码 – 反码加一

内存最小的单位是 位bit

# 1字节 = 8位
# 1kb = 1024b
# 1Mb = 1024kb
# 1Gb = 1024Mb
# 1T = 1024G

位运算:
& , |, ~, ^, << , >>
位运算的特点:运算效率高,内存消耗少;但是完成复杂运算的难度高
1)快速判断数字的奇偶性 数字 & 1
2)快速*2的操作 数字 << 1
3)快速整除2操作 数字 >> 1

本文地址:https://blog.csdn.net/qq_43727147/article/details/111058071