1.循环结构: while 条件语句 :git
循环体面试
例: while True:数据库
print(“123”)#该循环为死循环,理论上无限循环学习
2.循环流程:优化
1.判断条件:若是循环条件为真,进入循环体;编码
2.循环体代码执行完后,返回继续判断循环条件,周而复始。spa
3.如何终止循环code
1.改变循环条件orm
引入标志位的概念对象
例:
flag = True count = 1 while flag: print(count) count = count+1 if count== 101: flag = False
练习题:从1-100打印
方法一:使用不等式判断
count = 0 while count < 100: count += 1 print(count)
方法二:使用标志位概念
flag = True count = 0 while flag: count += 1 print(count) if count == 100: flag = False
2.关键字 break
做用:直接结束循环,break以后的代码将不会执行
3.关键字 continue
做用:结束本次循环,继续判断循环条件后进行下一次循环.
4.循环结构:while 循环条件:
循环块
else:
执行结果
注意:若是循环块中有break,且执行了break后将不执行else的执行结果
5.while循环的应用场景
验证用户密码,重复输入须要运用while循环
执行次数
无限次的显示页面的场景
做用:制做模块,针对某些位置的参数是动态的信息。字符串动态替换等。
占位符定义:%,就是动态信息的插入位置,其后跟随s或者d,分别是str(字符串类型)和digit(数字类型)的缩写
方式一:
msg = "你的名字是%s,年龄为%d,性别是%s" % (name,age,sex)
方式二:
msg = "你的名字是%(name1)s,年龄为%(age1)d,性别是%(sex1)s" % {"name1": "hexin","age1":18,"sex1":"nan"}
特殊状况:
例:
s2 = "个人名字是%s,我今年%s岁,个人学习进度是1%%" %("alex","18",)
模块中只是为了表示进度,则须要输入%%,这样就表明他不是占位符
1.算数运算符
%取余,**幂次,//取整除
2.比较运算符
==等于比较对象是否同样
!= 不等于
3.赋值运算符
+=,-=,*=,/=
4.逻辑运算符(重点)
and(与) or(或) not(非)
优先级: () > not > and > or
1.先后条件为比较运算
例:
print (1< 2 or 3>1)
输出为True
2.先后俩边条件为数值
则 x or y,x is True ,则返回x;不然返回y。 x and y与x or y的结果相反
补充:int与bool的转换
0对应的bool值为False,非0数字对应的Bool值为True
面试题:
print(0 or 3 and 5 or 4) print(1 > 2 or 3 and 4 < 6) print(2 or 3 and 4 < 6)
执行结果为 5 False 2
应用
1.if while等条件判断(数据库,Django orm Q查询)
2.面试
ASCII码:最第一版本的编码规则,包含全部英文,数字,特殊字符。
最初一个字符对应7位,最终优化为8位
面试题:ASCII最左一位都是0
为何都是0?
由于当时的创造者预留的。
例:对于ASCII码来讲: "hello word"表示10个字符。 10个字节 空格也表示一个字符
Unicode:万国码,将全世界全部国家的文字都写入这个编码方式里。
起初:1个字符 16位 2个字节表示
改版:1个字符 32位 4个字节表示
过于浪费资源
utf-8:最少使用8位表示1个字符
英文:8位 1字节
欧洲文字:16位 2字节
中文:24位 3字节
GBk:国标,只包含中文,英文(英文字母,数字和特殊字符)
英文:1个字节
中文:2个字节
难点:Gbk与utf-8之间的编码转换
补充:全部其他的编码英文字符所有都映射与ASCII码
存储单位 8bit(位) == 1bytes 1024bytes == 1kb 1024kb == 1MB 1024MB == 1GB 1024GB == 1TB 1024TB == 1PB