三,python基础初识。
三,python基础初识。
1,运行python代码。
在d盘下创建一个t1.py文件内容是:
print('hello world')
打开windows命令行输入cmd,确定后 写入代码python d:t1.py
您已经运行了第一个python程序, 即:终端---->cmd-----> python 文件路径。 回车搞定~
2,解释器。
上一步中执行 python d:t1.py 时,明确的指出 t1.py 脚本由 python 解释器来执行。
如果想要类似于执行shell脚本一样执行python脚本,例: ./t1.py
,那么就需要在 hello.py 文件的头部指定解释器,如下:
1 2 3 |
|
进链接可以免费领取0基础Python学习资料哦https://mz.tanzhouedu.com/?s=39dcc960036a7747
如此一来,执行: ./t1.py
即可。
ps:执行前需给予t1.py 执行权限,chmod 755 t1.py
3,内容编码。
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) |
删除 |
学习资料和直播课程,源码进q群1063021555免费领取哦~
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
报错:ascii码无法表示中文
1 2 3 |
|
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
1 2 3 4 |
|
4,注释。
当行注释:# 被注释内容
多行注释:'''被注释内容''',或者"""被注释内容"""
5,变量
变量是什么? 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
5.1、声明变量
1 2 3 4 |
|
上述代码声明了一个变量,变量名为: name,变量name的值为:"taibai"
变量的作用:昵称,其代指内存里某个地址中保存的内容
5.2、变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] - 变量的定义要具有可描述性。
5.3、推荐定义方式
#驼峰体AgeOfOldboy = 56NumberOfStudents = 80#下划线age_of_oldboy = 56number_of_students = 80
你觉得哪种更清晰,哪种就是官方推荐的,我想你肯定会先第2种,第一种AgeOfOldboy咋一看以为是AngelaBaby
5.4、变量的赋值
#!/usr/bin/env python
# -*- coding: utf-8 -*-name1 = "wupeiqi"
name2 = "alex"
#!/usr/bin/env python
# -*- coding: utf-8 -*-name1 = "taibai"
name2 = name1
5.5、定义变量不好的方式举例
- 变量名为中文、拼音
- 变量名过长
- 变量名词不达意
6,常量
常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
在c语言中有专门的常量定义语法,
const int count = 60;
一旦定义为常量,更改即会报错
7,程序交互
#!/usr/bin/env python
# -*- coding: utf-8 -*-# 将用户输入的内容赋值给 name 变量
name = input("请输入用户名:")# 打印输入的内容
print(name)
执行脚本就会发现,程序会等待你输入姓名后再往下继续走。
可以让用户输入多个信息,如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")print("Hello ",name , "your are ", age , "years old, you came from",hometown)
8,基础数据类型(初始)。
什么是数据类型?
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型
8.1、整数类型(int)。
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
>>> a= 2**64
>>> type(a) #type()是查看数据类型的方法
<type 'long'>
>>> b = 2**60
>>> type(b)
<type 'int'>
除了int和long之外, 其实还有float浮点型, 复数型,但今天先不讲啦
8.2、字符串类型(str)。
在Python中,加了引号的字符都被认为是字符串!
>>> name = "Alex Li" #双引号
>>> age = "22" #只要加引号就是字符串
>>> age2 = 22 #int
>>>
>>> msg = '''My name is Alex, I am 22 years old!''' #我擦,3个引号也可以
>>>
>>> hometown = 'ShanDong' #单引号也可以
那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合
msg = "My name is Alex , I'm 22 years old!"
多引号什么作用呢?作用就是多行字符串必须用多引号
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)
字符串拼接
数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。
>>> name
'Alex Li'
>>> age
'22'
>>>
>>> name + age #相加其实就是简单拼接
'Alex Li22'
>>>
>>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'
注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
>>> type(name),type(age2)
(<type 'str'>, <type 'int'>)
>>>
>>> name
'Alex Li'
>>> age2
22
>>> name + age2
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接
8.3、布尔值(True,False)。
布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断
但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?
没错,答案就是,用布尔类型
>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成立就是True, 即真
True
9,格式化输出。
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Alex Li -----------
Name : Alex Li
Age : 22
job : Teacher
Hobbie: girl
------------- end -----------------
你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势
只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦
name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name : %s #代表 name
Age : %s #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------
''' %(name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来 print(info)
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦
age : %d
我们运行一下,但是发现出错了。。。
说%d需要一个数字,而不是str, what? 我们明明输入的是数字呀,22,22呀。
不用担心 ,不要相信你的眼睛我们调试一下,看看输入的到底是不是数字呢?怎么看呢?查看数据类型的方法是什么来着?type()
name = input("Name:")
age = input("Age:")
print(type(age))
执行输出是
Name:Alex
Age:22
<class 'str'> #怎么会是str
Job:IT
让我大声告诉你,input接收的所有输入默认都是字符串格式!
要想程序不出错,那怎么办呢?简单,你可以把str转成int
age = int( input("Age:") )
print(type(age))
肯定没问题了。相反,能不能把字符串转成数字呢?必然可以,str( yourStr )
问题:现在有这么行代码
msg = "我是%s,年龄%d,目前学习进度为80%"%('金鑫',18)
print(msg)
这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?
msg = "我是%s,年龄%d,目前学习进度为80%%"%('金鑫',18)
print(msg)
这样就可以了,第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。
10,基本运算符。
运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
以下假设变量: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
in,not in :
判断子元素是否在原字符串(字典,列表,集合)中:
例如:
#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')
11,流程控制之--if。
假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。
if...else 语句
单分支
if 条件:满足条件后要执行的代码
双分支
"""
if 条件:满足条件执行代码
else:if条件不满足就走这段
"""
AgeOfOldboy = 48if AgeOfOldboy > 50 :print("Too old, time to retire..")
else:print("还能折腾几年!")
缩进
这里必须要插入这个缩进的知识点
你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?
在其它的语言里,大多通过{}
来确定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript代码的例子
var age = 56
if ( age < 50){console.log("还能折腾")console.log('可以执行多行代码')
}else{console.log('太老了')
}
在有{}
来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。
Python是门超级简洁的语言,发明者定是觉得用{}
太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。
Python的缩进有以下几个原则:
- 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。
多分支
回到流程控制上来,if...else ...可以有多个分支条件
if 条件:满足条件执行代码
elif 条件:上面的条件不满足就走这个
elif 条件:上面的条件不满足就走这个
elif 条件:上面的条件不满足就走这个
else:上面所有的条件不满足就走这段
写个猜年龄的游戏吧
age_of_oldboy = 48guess = int(input(">>:"))if guess > age_of_oldboy :print("猜的太大了,往小里试试...")elif guess < age_of_oldboy :print("猜的太小了,往大里试试...")else:print("恭喜你,猜对了...")
上面的例子,根据你输入的值不同,会最多得到3种不同的结果
再来个匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下
A 90-100
B 80-89
C 60-79
D 40-59
E 0-39
要求用户输入0-100的数字后,你能正确打印他的对应成绩
score = int(input("输入分数:"))if score > 100:print("我擦,最高分才100...")
elif score >= 90:print("A")
elif score >= 80:print("B")
elif score >= 60:print("C")
elif score >= 40:print("D")
else:print("太笨了...E")
这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80:
呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!
12,流程控制之--while循环。
12.1,基本循环
|
12.2,循环中止语句
如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
例子:break
count = 0
while count <= 100 : #只要count<=100就不断执行下面的代码print("loop ", count)if count == 5:breakcount +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0print("-----out of while loop ------")
输出
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
-----out of while loop ------
例子:continue
count = 0
while count <= 100 : count += 1if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loopcontinue print("loop ", count)print("-----out of while loop ------")
输出
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
-----out of while loop ------
12.3,while ... else ..
与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0
while count <= 5 :count += 1print("Loop",count)else:print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------
如果执行过程中被break啦,就不会执行else的语句啦
count = 0
while count <= 5 :count += 1if count == 3:breakprint("Loop",count)else:print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
-----out of while loop ------
三,python基础初识。相关推荐
- python基础--初识python
目录: 1.为什么要学习python? 2.电脑的简史 3.计算机结构 4.操作系统历史 5.二进制 6.编程语言 7.python发展史与比较 8.系统的位数 9.硬盘的区分 10.交互器模式 11 ...
- python 基础一
一,Python介绍 1. python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹 ...
- python基础(一)
一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...
- Python 基础二
一.Python介绍 1.python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...
- python基础部分
一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...
- Python基础一(介绍)
1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新 ...
- python1_Python学习之路(一)之Python基础1
Python基础初识 1.Python介绍 1.1.Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写 ...
- linux+jmeter+python基础+抓包拦截
LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javas ...
- Python数据分析实战基础 | 初识Pandas
这是Python数据分析实战基础的第一篇内容,主要是和Pandas来个简单的邂逅.已经熟练掌握Pandas的同学,可以加快手速滑动浏览或者直接略过本文. 01 重要的前言 这段时间和一些做数据分析的 ...
最新文章
- python怎么知道用哪个库使用-dir、help 查看python 库 对应的方法 和使用
- 【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )
- c mysql 时间段查询_mySql 时间段查询
- 六十、深入理解Vue组件,使用组件的三个细节点
- config kubectl_Kubernetes(k8s)中文文档 kubectl config set-context_Kubernetes中文社区
- LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)
- 复杂风控场景下,如何打造一款高效的规则引擎
- LCA在线算法ST算法
- Atitit.词法分析的原理 理论
- 免费英文文献下载攻略
- ASP使用ASPupload组件上传多个文件
- Java SE 八大基本类型
- SII9136添加HDCP功能
- 淘宝竞争对手热销词查询 淘宝竞争对手分析
- java 内存中创建文件_java - 如何在Java中创建一个zip文件 - 堆栈内存溢出
- 《Science》教你如何写好一篇博士毕业论文!
- 方程求根的迭代法——牛顿迭代法
- 从输入一个URL地址到浏览器完成渲染的整个过程
- BugKu -- 程序员本地网站
- 安装时提示错误1402的解决办法
热门文章
- 从高中编码员到国际技术演讲者— Arun Michael Dsouza访谈
- python 读写csv文件(创建、追加、覆盖)_python文件操作
- IBM Lotus Connections 2.5 评审指南
- androidStudio Lambda表达式的引入
- 安装和开启 魔改bbr
- 用MFC编程时在源文件里经常看到的AFX或afx是什么意思?
- java环境的配置——实现win10下双击直接运行jar文件
- 馋猫美食记录本_隐私政策
- python的拼音_python 中文分词和拼音首字母
- 03-CGB-DB-INIT-V1.01