while循环
1.1 while循环语法格式:
基本while循环格式:
while 条件:
? 循环体
while....else:
while 条件:
? 循环体
else:
? 代码
1.2 while循环的原理:
1.3 终止while循环
改变条件,终止循环
flag = True
while flag:
print("下山")
print("归寻")
flag = False
print("让酒")
print("天下")
结果:
下山
归寻
让酒
天下
#注意while循环的原理,是执行到循环体底部之后再次判断条件
使用break终止
flag = True
while flag:
print("下山")
print("归寻")
break
print("让酒")
print("天下")
结果:
下山
归寻
#while循环体中遇到break是直接退出,不会继续执行break后的语句
使用系统命令终止
1.4 break和continue的区别
count = 0
while count < 3:
count = count + 1
if count == 1:
break
print("下山")
print("归寻")
print("让酒")
print("天下")
结果:
count = 0
while count < 3:
count = count + 1 #条件一定要写到continue上面否则满足continue的条件之后,count不会继续累加,会报错。
if count == 1:
continue
print("下山")
print("归寻")
print("让酒")
print("天下")
结果:
下山
归寻
让酒
天下
下山
归寻
让酒
天下
#while循环中遇见break是直接终止循环,continue是跳出本次循环进入下一次循环
格式化输出
%格式化输出时是占位符,s代表字符串类型,d代表整数
name = input("请输入姓名:")
age = input("请输入年龄:")
job = input("请输入工作:")
hobby = input("请输入爱好:")
msg = '''
------------info of %s------------
name:%s
age:%s
job:%s
hobby:%s
---------------end----------------
'''%(name,name,age,job,hobby)
print(msg)
结果:
请输入姓名:alex
请输入年龄:18
请输入工作:teacher
请输入爱好:reading
------------info of alex------------
name:alex
age:18
job:teacher
hobby:reading
---------------end----------------
#就像一个通用的模板,输入数据就可以规范输出
在格式化状态下百分号为:%%
name = input("请输入姓名:")
age = input("请输入年龄:")
msg = '我的名字:%s,我的年龄:%s,我的学习进度:1%%'%(name,age)
print(msg)
结果:
请输入姓名:alex
请输入年龄:18
我的名字:alex,我的年龄:18,我的学习进度:1%
运算符
算数运算符:
加:+ 减:- 乘:* 除:/ 取余:%取商:// 幂运算:**
print(3+2)
print(3-2)
print(3*2)
print(3/2)
print(3%2)
print(3**2)
print(3//2)
结果:
5
1
6
1.5
1
9
1
比较运算:==、!=、<>、>、<、<=、>=
print(3==2)
print(3!=2)
print(3>2)
print(3<2)
print(3<=2)
print(3>=2)
结果:
False
True
True
False
False
True
赋值运算:=、+=、-=、*=、/=、%=、**=、//=
逻辑运算:and or not
在没有()的情况下,优先级为:not>and>or,同一优先级从左到右依次计算
在两边都是比较运算的情况下,print之后的值为True/False
print(3 > 4 and 2 < 1 or 3 > 2 and 2 > 1)
结果:
True
两边都是数字的情况下:
x or y, x为真,则结果为x值,x为假,则结果为y值,and与or相反
print(3 and 4 or 0 and 1)
结果:
4
数字与比较运算混合存在
print(1 > 2 and 3 or 4)
结果:
4
#首先1 > 2 结果为 false,bool值转化为数字,false应该为0
#这里就变为0 and 3 or 4,0为假,0 and 3 取值为 0
# 0 or 4,0为假,应该取 y值,y值为4
编码
编码就是二进制与文字的对应关系表
编码的进化史:
第一个二进制与文字的对照表为ASCII:只包含英文字母、数字、特殊字符,每个字符占7bit,所以ASCII的二进制最左边一位都为0
GBK:包含了中文、英文、数字、特殊字符、英文字符每个占1byte,中文每个占2bytes
Unicode:万国码,包含了世界上所有文字,每个字符占4bytes
Utf-8:万国码的压缩版本,最少用1byte,英文字符为1byte,中文用3bytes
'你好22ha'
以GBK编码:8bytes
以utf-8编码:10bytes
存储单位的换算:
8bit = 1Byte
1024Bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = ITB
原文:https://www.cnblogs.com/vvbear/p/12426591.html