while循环+格式化输出+运算符+编码
1、while循环
- while无限循环
- 基本结构
while 条件:
循环体
while True:
print("1")
print("2")
-
基本原理
- 先判断条件是否为True
- 如果是True进入循环体
- 执行到循环体的底部
- 继续判断条件,条件成立,进入循环体,......
-
循环如何终止
-
改变条件
flag = True while flag: print("1") print("2") print("3") flag = False #flag重新赋值 print("4") print("5")打印1-100
num = 0 flag = True while flag: num+=1 print(num) if num == 100: flag =Falsenum = 1 while num < 101: print(num) num += 1打印1+2+3+.......+100
s = 0 #设置一个变量用于保存求和结果 num = 1 #设置一个变量用于累加 while num < 101 : s = s + num #将累加的结果保存在S中 num += 1 print(s) -
break
- 循环中遇到break直接跳出循环
-
continue
- 退出本次循环,重新回到判断条件继续下一次循环
-
系统命令
-
-
while else
- 如果while被break打断,则不执行else。
2、格式化输出
- 制作一个公共的模板
- 让一个字符串的某些位置变成动态可传入的
- % 占位符 s→str
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)
- 在格式化输出中,只想表示一个百分号,而不是作为占位符使用,%%
3、运算符
-
算数运算符 + - * / %(取余) **(求幂) //(取整除,返回商的整数部分)
-
比较运算符 > < ==(等于) != (不等于) <> (不等于) >= <=
-
赋值运算符 = += -= *= /= %= **= //=
-
逻辑运算符 and or not
-
在没有()的情况下,优先级:not > and > or ,同一优先级从左至右依次计算
-
情况1,:两边都是比较运算
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) 2 > 1 and 3 < 4 #Ture 4 > 5 and 2 < 1 #False print(Ture or False) #结果为Ture -
情况2:两边都是整数
- x or y ,x 为真,值就是x,x为假,值就是y
str--->int :只能是纯数字组成的字符串
int---->str
int---->bool :非零即Ture,0为False
bool--->int
print(int(True)) #1 print(int(False)) #0 -
-
-
成员运算符
4、编码
-
ASCII码:只包含:英文字母,数字,特殊字符
- 8bit == 1byte 0000 0001
- 'hello123' : 8byte
-
gbk : 英文字母,数字,特殊字符和中文。国标
- 一个英文字母 :1byte 0000 0001
- 一个中文 :2byte 0000 0001 0000 0001
-
Unicode : 万国码 把世界上所有的文字都记录到这个密码本
-
起初一个字符用2个字节表示 0000 0001 0000 0001
-
后来为了覆盖全部文字,用4个字节表示一个字符,浪费空间,浪费资源
0000 0001 0000 0001 0000 0001 0000 0001
-
Unicode升级版,Utf-8
-
-
Utf-8 : 升级,最少用8bit1个字节表示一个字符
- 英文: 1字节 0000 0001
- 欧洲 :2个字节 0000 0001 0000 0001
- 中文: 3个字节 0000 0001 0000 0001 0000 0001
'中国12he' : GBK : 8个字节
'中国12he' : UTF-8 :10 个字节
#单位换算
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
5.5MB ----> 5.5 * 1024 * 1024 * 8

浙公网安备 33010602011771号