- while 循环
- 格式化输出
- 运算符
- 编码知识
- 预习博客
- 今日作业
# # while 循环
while 条件:
循环体
#判断条件,条件为真,进入循环体,循环体代码执行到代码底部,返回,继续判断条件
死循环
如何让循环终止?
1.改变条件,标志位的概念或者判断表达式的条件是否满足。
break
3种终止while: count , flag , break
while else 结构
如果while循环被break打断,则不执行else代码
count = 1
while count < 5:
print(count)
count = count + 1
else:
print(666)
print(222)
应用场景
验证用户名密码 重新输入这个功能 需要while
格式化输出
制作一个模板,某些位置的参数是动态的
% 占位符 %s 数据类型为字符串 %d
%r用rper()方法处理对象
%s用str()方法处理对象
#第一种方式
name = input("输入姓名")
age = int(input("输入年龄"))
sex = input("性别")
style = '''
你的名字:%s,
你的年龄:%d,
你的性别:%s''' % (name ,age, sex)
print(style)
#第二种方式
msg = '你的名字是%(name)s,你的年龄%(age)d,你的性别%(sex)s' % {'name':name,"age",'sex':sex}
在格式化输出中输入% 需要两个%
运算符
==,!=,+= 原地赋值,=,**=,/=
逻辑运算符
!!! note 优先级顺序
() not and or
!!!
!!!note or 中是数字
x or y if x is True,return x
有0 返回数字数字除了0是返回false 其余都返回数字。并且是返回左侧
是0 返回0 and 除了0 是返回 右侧
!!!
int <---> bool
0对应是False,非0是True
True 转为 1
面试题
print(0 or 3 and 5 or 4)
print(1>2 or 3 and 4 < 6)True
print(2 or 3 and 4< 6)
应用
- if while 等条件判断(数据库,Django orm Q查询)
- 面试
编码初识
断位 与 密码本
ASCII 最左一位 都是0 设计之初用不上。
unicode:万国码,将所有国家的语言文字都写入其中.起初:一个字符 16位 2个字节表示。 包含文字不够
改版:一个字符 32位 4个字节表示。 浪费资源
utf-8 最少用8位表示一个字符,英文1个,欧文2个,中文3个
GBK 国标
中文 len('的'.encode('gbk')) 2字节
,英文 1字节
所有的编码都与Unicode有关系
所有的编码都是ASCII码的扩展
如何进行不同编码的转换?gbk utf8
由于所有的编码都与Unicode有关。
utf8 先转换成 unicode 再通过 unicode 转换成gbk
unicode 字节查看
import sys
sys.maxunicode 65535 2字节 或者 1114111 表示4字节