Python运算符与编码
while 循环
在生活中,我们遇到过循环的事情吧?比如循环听歌。在程序中,也是存才的,这就是流程控制语句 while
1、基本循环
while 条件: # 循环体 # 如果条件为真,那么循环则执行
# 如果条件为假,那么循环不执行
练习
使用while循环求出1-100所有数的和
输出 1- 100内的所有奇数
输出 1- 100内所有的偶数
2、break
break 用于退出当层循环
#!/usr/bin/env python
#-*- coding:utf-8 -*- num = 1
while num <6:
print(num)
num+=1
break
print("end")
练习
用户登录(三次机会重试)
3、continue
continue 用于退出当前循环,继续下一次循环
#!/usr/bin/env python
#-*- coding:utf-8 -*- num = 1
while num <6:
print(num)
num+=1
continue
print("end")
练习
使用while循环打印 1 2 3 4 5 6 8 9 10
4、while else
while True:
if 3 > 2:
print('你好')
break
else:
print('不好') while True:
if 3 > 2:
print('你好')
print('不好') # 大家看到的这个是不是感觉效果是一样的啊,其实不然
# 当上边的代码执行到break的时候else缩进后的内容不会执行
while True:
if 3 > 2:
print('你好')
break
else:
print('不好') while True:
if 3 > 2:
print('你好')
print('不好') # 大家看到的这个是不是感觉效果是一样的啊,其实不然
# 当上边的代码执行到break的时候else缩进后的内容不会执行
练习
首先让用户输入序号选择格式如下: 0.退出 1.开始登录 如果用户选择序号0 就提示用户退出成功 如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入
用户可持续输入(用while循环),用户使用的情况: 输入A,则显示走大路回家,然后在让用户进一步选择: 是选择公交车,还是步行? 选择公交车,显示10分钟到家,并退出整个程序。 选择步行,显示20分钟到家,并退出整个程序。 输入B,则显示走小路回家,并退出整个程序。 输入C,则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧? 选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。 选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项
运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
以下假设变量:a=10,b=20
比较运算
以下假设变量:a=10,b=20
赋值运算
以下假设变量:a=10,b=20
逻辑运算
针对逻辑运算的进一步研究:
1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
例题:
判断下列逻辑语句的True,False。
1,3>4 or 4<3 and 1==1
2,1 < 2 and 3 < 4 or 1>2
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2 , x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
例题:求出下列逻辑语句的值。
8 or 4
0 and 3
0 or 4 and 3 or 7 or 9 and 6
运行结果:
4
0
3 0 or 4 and 3 or 7 or 9 and 6分解:
因为and的级别比or的级别高,所以先执行and就是 0 or 3 or 7 or 6 然后运算or 3 or 7 or 6 3 or 6 因为or运算前边条件成立就不考虑后边的值了 所以最后的结果就是3
in,not in :
判断子元素是否在原字符串(字典,列表,集合)中:
例如:
#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')
练习
有个字符串 s = "alex",如果alex在我们输入的内容中就提示:你说的对.否则就提示不存在
s = "alex"
s_input = input("请输入内容:")
if s in s_input:
print("你说的对")
else:
print("不存在")
编码的问题
python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
Bin(二进制)
|
Oct(八进制) |
Dec(十进制)
|
Hex(十六进制)
|
缩写/字符
|
解释
|
0000 0000
|
0
|
0
|
00
|
NUL(null)
|
空字符
|
0000 0001
|
1
|
1
|
01
|
SOH(start of headline)
|
标题开始
|
0000 0010
|
2
|
2
|
02
|
STX (start of text)
|
正文开始
|
0000 0011
|
3
|
3
|
03
|
ETX (end of text)
|
正文结束
|
0000 0100
|
4
|
4
|
04
|
EOT (end of transmission)
|
传输结束
|
0000 0101
|
5
|
5
|
05
|
ENQ (enquiry)
|
请求
|
0000 0110
|
6
|
6
|
06
|
ACK (acknowledge)
|
收到通知
|
0000 0111
|
7
|
7
|
07
|
BEL (bell)
|
响铃
|
0000 1000
|
10
|
8
|
08
|
BS (backspace)
|
退格
|
0000 1001
|
11
|
9
|
09
|
HT (horizontal tab)
|
水平制表符
|
0000 1010
|
12
|
10
|
0A
|
LF (NL line feed, new line)
|
换行键
|
0000 1011
|
13
|
11
|
0B
|
VT (vertical tab)
|
垂直制表符
|
0000 1100
|
14
|
12
|
0C
|
FF (NP form feed, new page)
|
换页键
|
0000 1101
|
15
|
13
|
0D
|
CR (carriage return)
|
回车键
|
0000 1110
|
16
|
14
|
0E
|
SO (shift out)
|
不用切换
|
0000 1111
|
17
|
15
|
0F
|
SI (shift in)
|
启用切换
|
0001 0000
|
20
|
16
|
10
|
DLE (data link escape)
|
数据链路转义
|
0001 0001
|
21
|
17
|
11
|
DC1 (device control 1)
|
设备控制1
|
0001 0010
|
22
|
18
|
12
|
DC2 (device control 2)
|
设备控制2
|
0001 0011
|
23
|
19
|
13
|
DC3 (device control 3)
|
设备控制3
|
0001 0100
|
24
|
20
|
14
|
DC4 (device control 4)
|
设备控制4
|
0001 0101
|
25
|
21
|
15
|
NAK (negative acknowledge)
|
拒绝接收
|
0001 0110
|
26
|
22
|
16
|
SYN (synchronous idle)
|
同步空闲
|
0001 0111
|
27
|
23
|
17
|
ETB (end of trans. block)
|
结束传输块
|
0001 1000
|
30
|
24
|
18
|
CAN (cancel)
|
取消
|
0001 1001
|
31
|
25
|
19
|
EM (end of medium)
|
媒介结束
|
0001 1010
|
32
|
26
|
1A
|
SUB (substitute)
|
代替
|
0001 1011
|
33
|
27
|
1B
|
ESC (escape)
|
换码(溢出)
|
0001 1100
|
34
|
28
|
1C
|
FS (file separator)
|
文件分隔符
|
0001 1101
|
35
|
29
|
1D
|
GS (group separator)
|
分组符
|
0001 1110
|
36
|
30
|
1E
|
RS (record separator)
|
记录分隔符
|
0001 1111
|
37
|
31
|
1F
|
US (unit separator)
|
单元分隔符
|
0010 0000
|
40
|
32
|
20
|
(space)
|
空格
|
0010 0001
|
41
|
33
|
21
|
!
|
叹号 |
0010 0010
|
42
|
34
|
22
|
"
|
双引号 |
0010 0011
|
43
|
35
|
23
|
#
|
井号 |
0010 0100
|
44
|
36
|
24
|
$
|
美元符 |
0010 0101
|
45
|
37
|
25
|
%
|
百分号 |
0010 0110
|
46
|
38
|
26
|
&
|
和号 |
0010 0111
|
47
|
39
|
27
|
'
|
闭单引号 |
0010 1000
|
50
|
40
|
28
|
(
|
开括号
|
0010 1001
|
51
|
41
|
29
|
)
|
闭括号
|
0010 1010
|
52
|
42
|
2A
|
*
|
星号 |
0010 1011
|
53
|
43
|
2B
|
+
|
加号 |
0010 1100
|
54
|
44
|
2C
|
,
|
逗号 |
0010 1101
|
55
|
45
|
2D
|
-
|
减号/破折号 |
0010 1110
|
56
|
46
|
2E
|
.
|
句号 |
00101111
|
57
|
47
|
2F
|
/
|
斜杠 |
00110000
|
60
|
48
|
30
|
0
|
数字0 |
00110001
|
61
|
49
|
31
|
1
|
数字1 |
00110010
|
62
|
50
|
32
|
2
|
数字2 |
00110011
|
63
|
51
|
33
|
3
|
数字3 |
00110100
|
64
|
52
|
34
|
4
|
数字4 |
00110101
|
65
|
53
|
35
|
5
|
数字5 |
00110110
|
66
|
54
|
36
|
6
|
数字6 |
00110111
|
67
|
55
|
37
|
7
|
数字7 |
00111000
|
70
|
56
|
38
|
8
|
数字8 |
00111001
|
71
|
57
|
39
|
9
|
数字9 |
00111010
|
72
|
58
|
3A
|
:
|
冒号 |
00111011
|
73
|
59
|
3B
|
;
|
分号 |
00111100
|
74
|
60
|
3C
|
<
|
小于 |
00111101
|
75
|
61
|
3D
|
=
|
等号 |
00111110
|
76
|
62
|
3E
|
>
|
大于 |
00111111
|
77
|
63
|
3F
|
?
|
问号 |
01000000
|
100
|
64
|
40
|
@
|
电子邮件符号 |
01000001
|
101
|
65
|
41
|
A
|
大写字母A |
01000010
|
102
|
66
|
42
|
B
|
大写字母B |
01000011
|
103
|
67
|
43
|
C
|
大写字母C |
01000100
|
104
|
68
|
44
|
D
|
大写字母D |
01000101
|
105
|
69
|
45
|
E
|
大写字母E |
01000110
|
106
|
70
|
46
|
F
|
大写字母F |
01000111
|
107
|
71
|
47
|
G
|
大写字母G |
01001000
|
110
|
72
|
48
|
H
|
大写字母H |
01001001
|
111
|
73
|
49
|
I
|
大写字母I |
01001010
|
112
|
74
|
4A
|
J
|
大写字母J |
01001011
|
113
|
75
|
4B
|
K
|
大写字母K |
01001100
|
114
|
76
|
4C
|
L
|
大写字母L |
01001101
|
115
|
77
|
4D
|
M
|
大写字母M |
01001110
|
116
|
78
|
4E
|
N
|
大写字母N |
01001111
|
117
|
79
|
4F
|
O
|
大写字母O |
01010000
|
120
|
80
|
50
|
P
|
大写字母P |
01010001
|
121
|
81
|
51
|
Q
|
大写字母Q |
01010010
|
122
|
82
|
52
|
R
|
大写字母R |
01010011
|
123
|
83
|
53
|
S
|
大写字母S |
01010100
|
124
|
84
|
54
|
T
|
大写字母T |
01010101
|
125
|
85
|
55
|
U
|
大写字母U |
01010110
|
126
|
86
|
56
|
V
|
大写字母V |
01010111
|
127
|
87
|
57
|
W
|
大写字母W |
01011000
|
130
|
88
|
58
|
X
|
大写字母X |
01011001
|
131
|
89
|
59
|
Y
|
大写字母Y |
01011010
|
132
|
90
|
5A
|
Z
|
大写字母Z |
01011011
|
133
|
91
|
5B
|
[
|
开方括号 |
01011100
|
134
|
92
|
5C
|
\
|
反斜杠 |
01011101
|
135
|
93
|
5D
|
]
|
闭方括号 |
01011110
|
136
|
94
|
5E
|
^
|
脱字符 |
01011111
|
137
|
95
|
5F
|
_
|
下划线 |
01100000
|
140
|
96
|
60
|
`
|
开单引号 |
01100001
|
141
|
97
|
61
|
a
|
小写字母a |
01100010
|
142
|
98
|
62
|
b
|
小写字母b |
01100011
|
143
|
99
|
63
|
c
|
小写字母c |
01100100
|
144
|
100
|
64
|
d
|
小写字母d |
01100101
|
145
|
101
|
65
|
e
|
小写字母e |
01100110
|
146
|
102
|
66
|
f
|
小写字母f |
01100111
|
147
|
103
|
67
|
g
|
小写字母g |
01101000
|
150
|
104
|
68
|
h
|
小写字母h |
01101001
|
151
|
105
|
69
|
i
|
小写字母i |
01101010
|
152
|
106
|
6A
|
j
|
小写字母j |
01101011
|
153
|
107
|
6B
|
k
|
小写字母k |
01101100
|
154
|
108
|
6C
|
l
|
小写字母l |
01101101
|
155
|
109
|
6D
|
m
|
小写字母m |
01101110
|
156
|
110
|
6E
|
n
|
小写字母n |
01101111
|
157
|
111
|
6F
|
o
|
小写字母o |
01110000
|
160
|
112
|
70
|
p
|
小写字母p |
01110001
|
161
|
113
|
71
|
q
|
小写字母q |
01110010
|
162
|
114
|
72
|
r
|
小写字母r |
01110011
|
163
|
115
|
73
|
s
|
小写字母s |
01110100
|
164
|
116
|
74
|
t
|
小写字母t |
01110101
|
165
|
117
|
75
|
u
|
小写字母u |
01110110
|
166
|
118
|
76
|
v
|
小写字母v |
01110111
|
167
|
119
|
77
|
w
|
小写字母w |
01111000
|
170
|
120
|
78
|
x
|
小写字母x |
01111001
|
171
|
121
|
79
|
y
|
小写字母y |
01111010
|
172
|
122
|
7A
|
z
|
小写字母z |
01111011
|
173
|
123
|
7B
|
{
|
开花括号 |
01111100
|
174
|
124
|
7C
|
|
|
垂线 |
01111101
|
175
|
125
|
7D
|
}
|
闭花括号 |
01111110
|
176
|
126
|
7E
|
~
|
波浪号 |
01111111
|
177
|
127
|
7F
|
DEL (delete)
|
删除
|
随着计算机的发展. 以及普及率的提高. 流⾏到欧洲和亚洲. 这时ASCII码就不合适了. 比如: 中⽂汉字有几万个. 而ASCII 多也就256个位置. 所以ASCII不行了. 怎么办呢? 这时, 不同的国家就提出了不同的编码用来适用于各自的语言环境. 比如, 中国的GBK, GB2312, BIG5, ISO-8859-1等等. 这时各个国家都可以使用计算机了.
GBK, 国标码占用2个字节. 对应ASCII码 GBK直接兼容. 因为计算机底层是用英文写的. 你不支持英文肯定不行. 而英文已经使用了ASCII码. 所以GBK要兼容ASCII.
这里GBK国标码. 前⾯的ASCII码部分. 由于使⽤两个字节. 所以对于ASCII码⽽言. 前9位都是0
字母A:0100 0001 # ASCII
字母A:0000 0000 0100 0001 # 国标码
国标码的弊端:
只能中国用. 日本就垮了. 所以国标码不满足我们的使用. 这时提出了一个万国码Unicode一 开始设计是每个字符两个字节. 设计完了. 发现我大中国汉字依然无法进行编码.
只能进行扩充. 扩充成32位也就是4个字 节. 这回够了. 但是. 问题来了. 中国字9万多. 而unicode可以表示40多亿. 根本用不了. 太浪费了. 于是乎, 就提出了新的 UTF编码.可变长度编码
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,
它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536
注:此处说的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、
欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
UTF-16: 每个字符最少占16位.
GBK: 每个字符占2个字节, 16位.
单位转换
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
常⽤到TB就够了
整数
整数在Python中的关键字用int来表示; 整数在计算机中是用于
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.
在python3中不存在long类型 整数可以进行的操作:
整数的加
a = 10
b = 20
print(a + b)
结果:
30
整数的减
a = 10
b = 20
print(b - a)
结果:
10
整数的乘
a = 10
b = 20
print(a * b)
结果:
200
整数的除
a = 10
b = 20
print(b / a)
结果:
2.0<br># 注意点:当我们使用Python3的时候我们除法获取到时浮点数,也就是小数,但是使用Python2的时候使用除法获取的就是整数
整数的整除
a = 10
b = 20
print(b // a)
结果:
2
整数的取余
a = 5
b = 2
print(a % b)
结果:
1
整数的次方(幂)
a = 5
b = 2
print(a ** b)
结果:
25
注意点: 在Python2中存在long(长整型) 但是在Python3中long(长整型)不存在
bit_length(). 计算整数在内存中占用的二进制码的长度
十进制 | 二进制 | 长度 bit_length() |
1 | 01 | 1 |
2 | 10 | 2 |
3 | 11 | 2 |
4 | 100 | 3 |
5 | 101 | 3 |
6 | 110 | 3 |
7 | 111 | 3 |
8 | 1000 | 4 |
布尔值
布尔值(bool) 判断真假; 取值只有 True False
转换问题:
str ==> int
n = int('')
print(n)<br>结果:<br>22<br>#注意点:字符串中的内容必须是阿拉伯数字才能强行转换
int ==> str
n = str(22)
print(n)<br>结果:<br>22
int ==> bool
n = bool(4) # bool(-1) 结果也是True print(n)<br>结果:<br>True<br>注意点: 使用bool转换的时候只要是非0的都为True
bool ==> int
n = int(True) # int(False) 结果是0 print(n)<br>结果:<br>1
bool ==> str
n = bool(' ')
print(n)<br>结果:<br>True <br>注意点: 只要字符串中的内容不为空,所得到的结果就是True
str ==> bool
n = str(True)
print(n)
结果:
True
Python运算符与编码的更多相关文章
- Python运算符和编码
Python运算符和编码 一.格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ----------info of dogfa---------- n ...
- 万恶之源 - Python运算符与编码
格式化输出 现在有个需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ---------- Name : Alex Li Age : 22 job ...
- 02.万恶之源-python 运算符和编码
一.流程控制语句if: 第一种语法: (最基本的语法) if 条件: 代码块/结果1 结果2 # 如果条件是真(True)执行结果为1,然后结果为2,如果条件为错(False), 直接结果2. 第二种 ...
- 小学生都能学会的python(运算符 和 while循环)
---恢复内容开始--- 小学生都能学会的python(运算符和编码) 一.格式化输出 #占位:"%s"占位,占得是字符串,"%d"占位,占的是数字. # 让用 ...
- python全栈 流程控制;while 循环 格式化输出 运算符 及编码
python全栈开发 1循环 2break和continue的区别 3格式化输出 4运算符 5编码 一.流程控制while循环 while条件: 代码块(循环体) 1.死循环; while True; ...
- python运算符与数据类型
python运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 以下假设变量: a=10,b=20: ...
- 学习笔记之Python最简编码规范
Python最简编码规范 - 机器学习算法与Python学习 https://mp.weixin.qq.com/s/i6MwvC4jYTE6D1KHFgBeoQ https://www.cnblogs ...
- 总结day2 ---- while循环的简单使用, 格式化输出.运算符.以及编码的应用
内容提要 一 : while 循环 while 的基本语句操作 如何终止循环 二 :格式化输出 三 :运算符号 四 :编码初识别 一 : while 循环 1 >>>>whi ...
- Python 常用 PEP8 编码规范
Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
随机推荐
- 传说是小米家的一道面试题难倒了某Java程序员。扑克牌排序问题。
网上说的是有位网友在面试小米Java岗三次后,终于挺进了第三轮面试,结果还是败在了两道算法题上面. 1.写个读方法和写方法,实现读写锁 2.一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆 ...
- [HDU6315]Naive Operations(线段树+树状数组)
构造一个序列B[i]=-b[i],建一颗线段树,维护区间max, 每次区间加后再询问该区间最大值,如果为0就在树状数组中对应的值+1(该操作可能进行多次) 答案在树状数组中找 其实只用一颗线段树也是可 ...
- 我和Python的Py交易》》》》》》函数
一 函数是什么? 是数学中的函数? Python中 函数是指将一组语句的集合通过一个名字(函数名)封装起来的一段代码.(所以这里的函数是subroutine子程序) 那要函数干嘛.不都是代码吗?只不 ...
- Matlab R2018a版离线使用帮助文档方法
转载自:Matlab R2018a版离线使用帮助文档方法 问题 Matlab R2018a版本安装后,帮助文档默认为在线方式,需要使用账号登录,如果没有激活密钥或许可证编号,就无法使用帮助文档了. 方 ...
- ov5640介绍
1 摄像头 在各类信息中,图像含有最丰富的信息,作为机器视觉领域的核心部件,摄像头被广泛地应用在安防.探险以及车牌检测等场合.摄像头按输出信号的类型来看可以分为数字摄像头和模拟摄像头,按照摄像头图像传 ...
- 宁波Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- hdu1181变形课(floyd)
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submis ...
- 180710-MySql插入唯一键冲突的三种可选方式
MySql插入时唯一键冲突的几种处理方式 MySql插入一条记录,结果提示主键冲突,怎么办? 批量插入数据时,发现插入的这批数据中,有某些记录存在唯一键冲突,一个一个跳出来就比较麻烦了,有什么好的办法 ...
- jenkins配置git+maven+Publish over SSH
一.配置git 1.新建项目,源码管理选择git 2.Repository URL输入git目录 3.Credentials中选择新增凭据,凭据类型选择SSH,usename输入git,passphr ...
- git 从头开始
下载安装git 打开git,输入以下命令,引号内的为你自己的名字和邮箱 git config --global user.name "Your Name"git config -- ...