P002_python编码问题和逻辑运算
1.知识点回顾
1 | #1、使用while循环输入 1 2 3 4 5 6 8 9 10 |
2.格式化输出
1 | #格式化输出 |
想格式化输出%就要 两个%%代表转义,否则报错
3. while else
与其它语言else 一般只与if 搭配不同,在Python 中还有个while …else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
1 | count = 0 |
如果执行过程中被break啦,就不会执行else的语句啦
1 | count = 0 |
4.初始编码
- 最早的’密码本’ ascii 涵盖了英文字母大小写,特殊字符,数字。
01010101 - ascii 只能表示256种可能,太少,
- 创办了万国码 unicode
16表示一个字符不行,32位表示一个字符。
A 01000001010000010100000101000001
B 01000010010000100100001001000010
我 01000010010000100100001001000010 Unicode 升级 utf-8 utf-16 utf-32
8位 = 1字节bytes- utf-8 一个字符最少用8位去表示,英文用8位 一个字节
欧洲文字用16位去表示 两个字节
中文用24 位去表示 三个字节 - utf-16 一个字符最少用16位去表示
- utf-8 一个字符最少用8位去表示,英文用8位 一个字节
gbk 中国人自己发明的,一个中文用两个字节 16位去表示。
5. 逻辑运算
- and (JS里的 &&)
- or (JS里的 ||)
- not (JS里的 !)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38#and or not
#优先级,()> not > and > or
# print(2 > 1 and 1 < 4)
# print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)
# T or T or F
#T or F
# print(3>4 or 4<3 and 1==1) # F
# print(1 < 2 and 3 < 4 or 1>2) # T
# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T
# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F
# print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
# print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
#ps int ----> bool 非零转换成bool True 0 转换成bool 是False
# print(bool(2))
# print(bool(-2))
# print(bool(0))
# #bool --->int
# print(int(True)) # 1
# print(int(False)) # 0
'''x or y x True,则返回x'''
# print(1 or 2) # 1
# print(3 or 2) # 3
# print(0 or 2) # 2
# print(0 or 100) # 100
# print(2 or 100 or 3 or 4) # 2
# print(0 or 4 and 3 or 2)
'''x and y x True,则返回y'''
# print(1 and 2)
# print(0 and 2)
print(2 or 1 < 3)
print(3 > 1 or 2 and 2)