验证用户名密码,重新输入这个功能需要while循环 无限次的显示页面,无限次的输入...
判断条件:条件为真,进入循环体
循环体代码执行到底部,返回;继续判断条件,周而复始
while True: #死循环 循环体
1.改变条件(标志位的概念)
flag = True while flag: print(666) flag = False
2.break
解释:循环中只要遇到break 立马结束循环
continue
解释:结束本次循环,开启下次循环
while else
如果while循环被break打断,则不执行else代码
eg
count = 1 print(count) while count < 5: print(count) count = count + 1 if count == 3: break else: print(666) print(222)
解释:制作一个模板,某些位置的参数是动态的,像这样,就需要格式化输出
% 占位符 s 数据类型为字符串 d 数字
#eg 第一种方式 (a, b, c)元组 name = input('请输入名字') age = input('请输入年龄') sex = input('请输入性别') #mag = '你的名字是%s,你的年龄是%s,你的性别是%s' % (name, age, sex) #print(mag) #eg 第二种方式 字典 mag = '你的名字是%(name1)s,你的年龄是%(age1)s,你的性别是%(sex)s' % {'name1':name, 'age1':age, 'sex':sex} print(mag)
注:在格式化输出中,只是想单纯的表示一个%时,应该用%%表示
== 比较两边的值是否相等 = 赋值运算 != 不等于 += 举例:count = count + 1 简写 count += 1 -= *= 举例:count = count * 5 简写 count *= 5 **= 幂赋值运算符 //= 取整除赋值运算符
and or not
优先级:()> not > and > or
#第一种情况,前后条件为比较运算 # print(1 < 2 or 3 >1) # print(1 < 2 and 3 > 4) # print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2) #第二种情况,前后两边的条件为数值 ''' x or y if x is True, return x and与or相反 ''' # print(1 or 2) # print(5 or 2) # print(5 and 2) # print(0 or 2) # print(-1 or 2) #补充 #0 对应的bool值为False,非0都是True #True 1 False 0 # print(bool(0)) # print(int(True)) #变态面试题: print(1 > 2 or 3 and 4 < 6) print(2 or 3 and 4 > 6) print(0 or 3 and 4 > 6) print(3 and 4 < 6 and 1)
断位,
要有一个密码本:记录的明文与二进制的对应关系
最初版本的密码本:所有的英文字母,数字,特殊字符
最初:一个字符7位
后来优化 8位 == 1个字节
A: 01000001
a: 01100001
对于ASCII码来说:
hello 5个字符,5个字节
万国码,将所有国家的语言都写入这个密码本
起初:1个字符 16位 2个字节表示
改版:1个字符 32位 4个字节表示(占空间)
升级版
最少用8位表示一个字符
A:一个字节
欧洲文字:两个字节
中文:三个字节
eg: old男孩: 9个字节
国标,只包含中文,英文(英文字母,数字,特殊字符)
A: 一个字节
中:两个字节
注:所有的编码都和Unicode有关
8bit == 1bytes
1024bytes == 1kb
1024kb == 1MB
1024Mb == 1GB
1024GB == 1TB
1024TB == 1PB