0
点赞
收藏
分享

微信扫一扫

day4-循环关键字和位运算

googlefrank 2022-03-25 阅读 79

前言
python语法学习,留给需要的人,懂得都懂!!

**01-continue和break的用法**
# coding=utf8
# @time:2022/3/24 20:48
# Author 浩宇

# 1.continue用法
# continue是关键字,智能再循环体中
# 结束当前的循环,开始下一个循环;
'''''''''
for x in range(3):
    print('===')
    continue
    print('++++')
    print('----')   # 结果只执行了三次‘===’
'''''''''

'''''''''
# 练习:计算1到100中所有不能被3整除的数的和;
# 方法一:
sum = 0
for x in range(1,101):
    if x % 3 != 0:
        sum += x
print(sum)

# 方法二:
sum = 0
for x in range(1,101):
    if x % 3 == 0:
        continue
    sum += x
print(sum)
'''''''''

# 2.break
# break是关键字,智能在循环体中使用
# 当执行循环体的时候,如果遇到break整个循环直接结束。
'''''''''
for x in range(3):
    print('===')
    break
    print('++++')
    print('----')   # 结果只执行了一次‘===’
'''''''''
'''''''''
# 练习:重复输入执行?
while True:
    value = input('请输入:')
    if value == '0':
        break
'''''''''
# while循环和break一起使用

# 在for循环或者while循环后面加else结构不会影响原循环的执行;
# 如果循环是正常结束的,循环结束后会执行else后面的代码;如果循环是因为break而结束的,那么else后面的代码就不会执行。
# (可以根据else后面的代码是否执行来判断循环在执行过程中有没有遇到break)

'''''''''
# 练习1:判断一个数是否是素数?
# 素数:又叫质数,除了1和他本身以外不能被其他的数整除
num = 5     # 其他数:2,3,4
for x in range(2,num):
    if num % x == 0:
        print(num,'不是素数')
        break
else:
    print(num,'是素数')
    
    
    
# 练习2:任意输入一个正整数,求他是几位数?
# 思路:看一个正整数是几位数就看这个数整除几次10以后变成0
value = int(input('请输入一个正整数:'))
numbers = 0
while True:
    value = value// 10
    numbers += 1
    if value == 0:
        break
print(numbers)
'''''''''



**02-进制和位运算**
# coding=utf8
# @time:2022/3/24 20:48
# Author 浩宇

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

# 1.进制
# 1)十进制
'''''''''
基数:0,1,2,3,4,5,6,7,8,9  (123,123,4534,657)
进位:逢10进1
位权:10的N次方(N从0开始)    —— 2341 ——> 1*10**0+4*10*81+3*10**2+2*10**3
程序中的表示方式:直接写
如:123,123456
'''''''''
# 2)二进制
'''''''''
基数:1,0 (001,110,101)
进位:逢2进1
位权:2的N次方(N从0开始)
程序中的表示方式:加前缀0b/0B
如: 0b10110
    0B10110
注意:二进制中不能出现0,1以外的数子,不然会报错;
'''''''''
# 3)八进制
'''''''''
基数:0,1,2,3,4,5,6,7 (123,456,753)
进位:逢8进1
位权:8的N次方(N从0开始)
程序中的表示方式:加前缀0o/0O
如:
0o34
0O34
注意:不能出现基数以外的数字;
'''''''''
# 4)十六进制
'''''''''
基数:0~9,a/A~f/F (af,10ee)
进位:逢16进1
位权:16的N次方(N从0开始)
程序中的表示方式:加前缀0x/0X
如:
0xaf
0Xaf
'''''''''

# 2.进制转换
# 1)其他进制转10进制:基数乘以位权的和
# 0b1011 -> 2**0+2**1+2**3=11

# 2)十进制转其他进制(辗转取余发)
# 要转换成什么进制就除以几(2、8、16)取余数,从下往上取余数;


# 3.原码、反码、补码
'''''''''''
正数的原码、反码、补码一样
1)源码:符号位+真值
真值指数字绝对值的二进制,符号位:0表示正,1表示负
10的真值:1010      -10的真值:1010
10的原码:01010     -10的原码:11010
计算机中10的原码:00001010

2)反码  -  符号位不变,其他为取反
-10的反码(1字节):11110101

3)补码  -  反码加1
-10的补码:11110110
'''''''''''

'''''''''''
# 内存最小单位是(bit)
# 1字节=8位
# 1kb=1024字节
# 1mb=1024kb
# 1G=1024MK
# 1T=1024G

'''''''''''
举报

相关推荐

0 条评论