1、死循环的效率问题

死循环本身是无害的,但纯计算无io的死循环就会有致命的效率问题。

1、下面这种死循环,虽然不是进行计算,对cpu的消耗不大,但是如果多个这样的程序并行运行,还是会有很大的效率问题
num = 0
while num < 10:
    print(num)
2、下面这种死循环是不会造成效率问题,因为这种情况cpu是有休息时间的
while True:
    info = input('请输入内容:')
    print(info)
3、这种情况,程序会不停的进行运算,程序是要控制计算机硬件的,控制cpu进行计算,使cpu处于高速运行的状态,让cpu不休息
while 1:
    10+10

2、退出while循环的两种方式

方法一:

将while的条件设置为false,将条件设置为变量,变量在代码段中修改。

方法二:

break:代码执行到break就会立刻结束本层循环

3、while+continue

continue是终止本次循环,跳过本次循环的后边的代码

4、while+else

while True:
    ....
else:
    ....
else只会在while循环正常结束的时候才会执行,比如break打断是不会执行else代码的。

5、for循环

比如遍历列表、字典、字符串、字典

for 变量名 in 可迭代对象:

        子代码段

for循环遍历字典,变量是字典的key,再通过key获取值。

range(起点值,终点值,步长):默认初始值是0,步长是1.顾头不顾尾

python2的range()会生成一个列表,如果值太大对内存消耗较大。

python3的range()是生成一个迭代器,不会占用太多空间。

break、continue、else一样适用for循环。

print()函数补充:

print(变量,end='\n'),这是print函数原来的格式,默认end='\n',也可以修改为其他的值,比如制表符'\t',用来解决不想换行的问题。

6、进制转换

十进制转二进制:bin(十进制值)          0b为二进制前缀

十进制转八进制:oct(十进制值)               0o为八进制前缀

十进制转十六进制:hex(十进制值)        0x为十六进制前缀

二进制转十进制:int('二进制值',2)           引号里面的值为带前缀的字符串

八进制转十进制:int('八进制值',8)           引号里面的值为带前缀的字符串

十六进制转十进制:int('十六进制值',2)           引号里面的值为带前缀的字符串

float():可以将带小数点的数字字符串转换为浮点型,但是int()就不能转换带小数点的字符串。