随便学学Python-day4-循环关键字和位运算

day4 循环关键字和位运算

循环关键字

1.continue

​ continue是关键字,只能用在循环体中

​ 当执行循环体的时候,如果遇到continue,当次循环直接结束,马上进入下次循环的判断(遇到continue结束一次循环)

2.break

​ break是关键字;只能在循环体中使用

​ 当执行循环体的时候,如果遇到break,整个循环直接结束。

3.while循环和break一起使用

"""
while True:
    需要重复的操作
    if 循环结束的条件:
        break
"""

4.else

1)Python中完整的for

for 变量 in 序列:

​ 循环体

else:

​ 代码段

2)Python中完整分while

while 条件语句:

​ 循环体

else:

​ 代码段

​ 在for循环或者while循环后面加else结构不会影响原循环的执行。

​ 如果循环是正常结束的,循环结束后会执行else后面的代码段; 如果循环是因为遇到break而结束,那么else后面的代码就不会执行。

​ (可以根据else后面的代码是否执行来判断循环在执行过程中有没有遇到break)

进制

1.进制

1)十进制

基数:0,1,2,3,4,5,6,7,8,9

进位:逢10进1

位权:10的N次方(N从0开始)

程序中的表示方式:直接写

2)二进制

基数:0,1

进位:逢2进1

位权:2的N次方 (N从0开始)

程序中的表示方式:加前缀0b/0B

3)八进制

基数:0,1,2,3,4,5,6,7

进位:逢8进1

位权:8的N次方 (N从0开始)

程序中的表示方式:加前缀0o/0O

4)十六进制

基数:09,a/A(10)f/F(15)

进位:逢16进1

位权:16的N次方 (N从0开始)

程序中的表示方式:加前缀0x/0X

2.进制转换

1)其他进制转10进制:基数乘以位权的和
# 方法:print
# 0b1011 ->  2**0 + 2**1 + 2**3 = 11
# 0o56 ->  6*8**0 + 5*8**1 = 6 + 40 = 46
# 0x12f -> 15*16**0 + 2*16**1 + 1*16**2 = 15+32+256 = 303
2)十进制转其他进制
# 转二进制方法:bin - 将其他进制转二进制
# 转八进制方法:oct
# 转16进制方法:hex
print(bin(100))
print(oct(100))
print(hex(100))
print(bin(0x4a3))

3.原码、反码和补码

​ 正数的反码、反码和补码一样

1)原码:符号位+真值

​ 真值:数字绝对值的二进制, 符号位:0表示正,1表示非

​ 10的真值:1010, -10的真值:1010

​ 10的原码:01010, -10的原码:11010

​ 计算机中10的原码:00001010 -10的原码: 10001010

2)反码 - 符号位不变,其他位取反

​ -10的反码(1字节):11110101

3)补码

​ -10的补码:11110110

# 内存最小单位是位(bit)
# 1字节 = 8位 (内存开辟的最小单位是字节)
# 1kb = 1024字节
# 1Mb = 1024kb
# 1G = 1024Mb
# 1T = 1024G

4.位运算

​ &(按位与), |(按位或), ^(按位异或), ~(按位取反), <<(左移), >>(右移)

​ 位运算的特点:运算效劳高,内存消耗少;但是完成复杂运算的时候难度高

1)快速判断数字的奇偶性:数字 & 1
if num & 1 == 0:
    print('偶数')
else:
    print('奇数')
2)快速乘以2操作:数字 << 1
print(3 << 1)
print(12 << 1)
print(-5 << 1)

print(3 << 2)
3)快速整除2操作:数字>>1
print(4 >> 1)
print(6 >> 1)
print(9 >> 1)    # 4
print(-9 >> 1)   # -5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值