1.pycharm的使用
快捷操作例如 shift + enter 无论光标在哪,都可以迅速切换到下一行
ctrl + / 将全选内容添加为注释
2.格式化输出
可以将编码中想要改变的量先用占位符%s占位,然后再编写改变条件等内容 例如: (例题来自day 02作业)
⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
jihui = 3
while jihui >= 1:
username = input('请输入用户名')
password = input('请输入密码')
if username == 'ojbk' and password == 'nice':
print('登录成功')
break
else:
jihui -= 1
print('''用户名或密码错误,当前尝试%s次,还可尝试%s次'''%(jihui,3-jihui))
else:
print('登录失败')
3.while 循环
什么是循环? 太阳东升西落 单曲循环 吃饭睡觉 代码中的循环 用while来表示
表示形式为
while 条件:
循环体
(此处可以视情况添加else)
可以让程序重复之前做的事情 比如输入账号 密码等操作
如何终止循环呢?
1.改变条件 2.break 3.调用系统命令 例 quit() exit() 但不建议使用
break和continue
break是程序遇到他立即停止并跳出循环
continue是程序遇到他只跳出本次循环 重新开始新一轮循环
例题:
while True:
print(222)
print(333)
break
print(555)
print(666)
此处运行时表示为 222 333 666 循环执行222 333后遇到break 立即跳出while循环 因此555无法执行 而666不在while循环中 所以可以执行
while True:
print(111)
print(222)
continue
print(333)
此处运行是表示为 111 222 循环执行到 111 222 后遇到continue 立即跳出本次循环并重新开始循环 因此 333无法执行 把print(333)移动到while循环里面时同样无法运行。
while循环中的else : 只要循环不被break打断 就不会执行else中的程序
4.运算符
有算术运算,赋值运算,比较运算,成员运算,位运算,逻辑运算等等。
算数运算: + - * / % ** //
比较运算: == > < >= <= !=
赋值运算: = += -= *= /= ....
count = count + 1 count += 1
逻辑运算:and or not
成员运算:in not in
优先级: () > not > and > or ,同一个优先级从左至右依此计算
bool ---> int True 1 Flase 0
a and b a 不是 Flase 输出结果为b
a or b a不是False 输出结果为a
成员运算
例
s = 'alex 中'
s1 = 'a'
s = 'alexsb'
print('a' in s)
print('al' in s)
print('ae' in s) # False
print('alex' in s) # False
print('alexsb' in s) # False
day 02作业里运算符部分例题:
3 and 2 > 1 True
0 and 3 > 1 0
2 > 1 and 3 3
3 > 1 and 0 0
3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 2
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 False
0 or 2 and 3 and 4 or 6 and 0 or 3 3
5.编码的初识
ascii:是最早期的密码本 只包含了英文字母 数字 特殊符号
一开始是七位一段 创始人为了以后的发展 增加到了八位一段
00100110 a
'0' '1' 是1bit
8个bit 是一个字符 一个字符用一个字节表示 例如 'a' 1个字节表示 'apple' 5个字节表示
unicode: 也叫万国码
随着计算机的发展 ascii不足以表示所有字符 因此世界的编码协会写出了能被所有国家使用的密码本
英文字母: '01101011 01101011' 18个bit为2个字节 汉字和英文字母你用2个字节表示1个字符
汉字: '01001011 01110011' 后因不足够表示所有汉字 进行一次升级
升级之后 32bit表示1个字符
英文字母: '01001110 01000011 11001100 00101011'
汉字 : '01110001 11100011 10001111 10000101'
升级之后unicode过于浪费空间
utf-8: 至少用8个字节表示1个字符
英文字母: '00101100'
欧洲文字: '01000010 01001110'
汉字: '01001110 11000001 10100001'
例如 :'老Boy' 1个汉字3个英文字母 占用6个字节
gbk :gb2312等等 国标 中国人自己发明的密码本
英文字母: '10110001'
汉字 : '01001110 01010100'
'老Boy' 一个汉字 三个英文字母 占用5字节
gbk是由utf-8转化而来