1.今日内容大纲
- while循环
- 运算符
- 编码
2.具体内容
1.while循环
-
引子
地球自转,吃饭睡觉上课,听课,列表循环。
-
语法
while 条件: 循环体 while True: print('大花轿') print('酒醉的蝴蝶') print('画画的baby') print('三妻四妾') print('奇迹再现')
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qHrU7yNq-1599566007589)(E:\19级人工智能\19级人工智能 02班\day03\image-20200908143340294.png)]
-
终止循环
- 改变条件。
- 利用break。
-
计数器思想。
打印: 1~100.
count = 1 flag = True while flag: print(count) count = count + 1 if count == 101: flag = False
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6FsvdZN-1599566007591)(E:\19级人工智能\19级人工智能 02班\day03\image-20200908144021365.png)]
flag = True while flag: print('大花轿') print('酒醉的蝴蝶') print('画画的baby') flag = False print('三妻四妾') print('奇迹再现')
-
break
终止循环。
-
测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yb4BgWxF-1599566007594)(E:\19级人工智能\19级人工智能 02班\day03\image-20200908145902287.png)]
while True: print('大花轿') print('酒醉的蝴蝶') print('画画的baby') break print('三妻四妾') print('奇迹再现')
1+2+3…+100
# count = 1 # sum1 = 0 # while True: # sum1 = sum1 + count # count += 1 # if count == 101: # break # print(sum1) count = 1 sum1 = 0 while count < 101: sum1 = sum1 + count count += 1 print(sum1)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyB6ppTK-1599566007599)(E:\19级人工智能\19级人工智能 02班\day03\image-20200908150453674.png)]
-
-
continue
终止本次循环,继续下一次循环。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6e1XoZam-1599566007602)(E:\19级人工智能\19级人工智能 02班\day03\image-20200908151054160.png)]
while True: print('大花轿') print('酒醉的蝴蝶') print('画画的baby') continue print('三妻四妾') print('奇迹再现')
-
while else
固定搭配,while循环被break打断,则不执行else语句。
count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------") count = 0 while count <= 5 : count += 1 if count == 3: break print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
2.运算符
运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算
算数运算
以下假设变量:a=10,b=20
比较运算
以下假设变量:a=10,b=20
赋值运算
以下假设变量:a=10,b=20
逻辑运算
and or not
print(1 > 2 and 3 < 4)
print(1 > 2 or 3 < 4)
print(not 2 > 1)
优先级:
()>not>and>or,同一优先级,从左至右依次计算。
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 or 4 > 3)
"""
print(False or False or 9 < 8 or 4 > 3)
print(False or 9 < 8 or 4 > 3)
print(False or 4 > 3)
"""
x or y ,如果x为True,则返回x,否则返回y.
0是False,非零即True.
print(3 or 4 or 0 or 1)
print(0 or 4 and 0 or 1 and 5)
#思考题
print(3>1 and 4 or 5 < 3)
身份运算:
in not in
name = '太白金星'
print('太白' in name)
print('太金' not in name)
3.编码
-
引子
我带着达哥穿越了。
达哥潜伏在日伪军的情报人员,要给我发电报,嘀嘀嘀 嘀嘀嘀。
滴代表1,不滴0.
龟田出去浪
0101 龟 01101 田 110 出 0111 去 0000010 浪 我接受的只能是:01010110111001100000010 我们可以规定固定的长度 0000101 龟 0001101 田 0000110 出 0000111 去 0000010 浪
计算机与发电报是一样的原理:
文件或者数据存储在磁盘或者通过网络发送出去其实操作的都是0101001.
-
ASCII码
最早期的密码本,记录的就是英文字母特殊字符数字与二进制0101010的对应关系。
什么是字符?
msg = ‘hello’ 5个字符
所以,8bit = 1个字节
一个字节表示一个字符。
我给小花发送了一个abc 011000010110001001100011
-
GBK
也叫GB2312,国标,国家标准,每个国家都自己构建了一个密码本,这个密码本只包含ASCII以及本国语言。
英文字母(ASCII) a 一个字节表示一个字符。 中文: 中:01100001 01100001 两个字节表示一个中文。 n1 = '太白6er' 如果用GBK编码本占几个字节? 7个字节。
-
万国码unicode
将全世界所有的文字都包含进去。起初,万国码两个字节表示一个字符。
但是涵盖不了所有的文字,所以改版,4个字节表示一个字符。
a: 01100001 01100001 01100001 01100001 中: 01100001 01100001 01100001 01101001
占用空间,浪费资源。
-
utf-8
是对unicode的升级。最少用8位1个字节表示1个字符。
英文字母:a: 01100001 一个字节表示一个字符 欧洲文字:: 01100001 01100001两个字节表示一个字符 亚洲文字:中: 01100001 01100001 01100001 三个字节表示一个字符 n1 = '太白6er' 如果用utf-8编码占几个字节? 9个字节。
-
单位换算
8bit = 1byte 1024byte = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 1024TB = 1EB 1024EB = 1ZB 1024ZB = 1YB 1024YB = 1NB 1024NB = 1DB 常⽤到TB就够了
节表示一个字符
亚洲文字:中: 01100001 01100001 01100001 三个字节表示一个字符
n1 = ‘太白6er’
如果用utf-8编码占几个字节?
9个字节。
+ 单位换算
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
常⽤到TB就够了