零基础入门学Python系列内容的学习目录 → \rightarrow →零基础入门学Python系列内容汇总。
需要学习的基础知识有:分支和循环、“悬挂else”、条件表达式(三元操作符)、断言、while循环语句、for循环语、range()、 break语句、continue语句等。
1. 分支和循环
- 分支结构:根据条件,选择性地执行某段代码,有
if…else
和switch
两种分支语句。 - 循环结构:根据循环条件,重复性的执行某段代码,有
while
、do…while
、for
三种循环语句。
我们玩的“打飞机”游戏就是使用几个循环和if条件写出来的。大概框架如下:
加载背景音乐
播放背景音乐
我方飞机诞生
interval=0
while True:
if 用户是否单击了关闭按钮:
退出程序
interval += 1
if interval ==50:
小飞机诞生
小飞机移动一个位置
屏幕刷新
interval=0
if 用户鼠标产生移动:
我方飞机中心位置=用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体接触:
我方挂,播放撞机音乐
修改我方飞机图案
打印"GAME OVER"
停止背景音乐
编程小练习: 按照100分制,90分以上成绩为A,80 ~ 90为B,60 ~ 80为C,60以下为D。程序要求用户输入分数,自动转换为A、B、C、D的形式打印。
score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
print('A')
elif 90 >= score >= 80:
print('B')
elif 80 >= score >= 60:
print('C')
elif 60 >= score >= 0:
print('D')
else:
print('输入错误!')
2. Pyhton可以有效避免“悬挂else”
对于什么是“悬挂else”的问题,举个C语言中的例子进行说明:
if (hi > 2)
if (hi > 7)
print("好棒!好棒!");
else
print("切~");
在上述例子中,虽然else是想和外层的if进行匹配,但事实上按照C语言的就近匹配原则,这个else是属于内层 if 的。由于初学者的一不小心 ,就容易导致BUG的出现,这就是著名的“悬挂else”。
而Python的缩进使用强制规定使得代码必须正确对齐,让程序员来决定else到底属于哪一个if。限制我们的选择从而减少了不确定性,所以在Python中制造出“悬挂else”的问题是不可能的,而且强制使用正确的缩进使得Python的代码变得整洁易读。
3. 条件表达式(三元操作符)
“多少元”操作符的意思是这个操作符有多少个操作数,例如赋值操作符=
是二元操作符,所以它有左边和右边两个操作数;-
是一元操作符,表示负号,所以只有一个操作数。
三元操作符语法:a=x if 条件 else y
有了三元操作符的条件表达式,我们就可以用一条语句来完成条件判断和赋值操作。
if x < y:
small = x
else:
small = y
上述例子中的语句使用三元操作符语法可以改进为 small=x if x<y else y。
4. 断言
断言: assert这个关键字称为“断言”,当这个关键字后边的条件为假的时候,程序自动奔溃并抛出AssertionError的异常。
断言在测试程序时使用比较好,可以用它在程序中置入放检点,当需要确保程序中某个条件为真才能让程序正常工作时,assert关键字就非常有用。
example1:>>>assert 3 < 4
>>>assert 3 > 4
Traceback (most recent call last):
File “<pyshell#0>”, line 1, in < module>
assert 3>4
AssertionError
5. while循环语句
Python的while循环跟if条件分支类似,在条件为真的情况下执行一段代码,不同的是只要条件为真,while循环会一直重复执行那段代码,把这段代码称为循环体。
while循环语句: while 条件:
循环体
6. for循环语句
Python的for循环也是计数器循环,它会自动调用迭代器的next()方法(在对象中的函数称为方法),会自动捕获StopIteration异常并结束循环。
for循环语句: for 目标 in 表达式:
循环体
example1:>>>word = “Python”
>>>for each in word:
print(each,end=’ ')
Python
7. range()
range()是for循环的一个小伙伴。
Python中的range()内建函数语法:range( [ start, ] stop [ ,step=1 ] )。
range这个BIF的作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列,常与for循环一起用于各种计数循环之间。它有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。step=1表示第三个参数的默认值是1。
只传递一个参数的range(),它会将第一个参数默认设置为0,生成0到某个数值的所有数字(包含0但不包含最后的那个数字)。
example1:>>>for i in range(5):
print(i)
0
1
2
3
4
传递两个参数的range():
example2:>>>for i in range(2, 5):
print(i)
2
3
4
传递三个参数的range():
example3:>>>for i in range(1, 10, 2):
print(i)
1
3
5
7
9
8. break语句
break语句的作用是终止当前循环,跳出循环体。下面举个例子:
bingo = '5'
answer = input('请输入一个数字:')
while True:
if answer == bingo:
break
answer = input('抱歉,错了,请重新输入:')
print('太棒了!')
程序运行后,只有当输入“5”的时候,才会执行break语句,也就是跳出while循环体。
>>>
请输入一个数字:4
抱歉,错了,请重新输入:7
抱歉,错了,请重新输入:5
太棒了!
9. continue语句
continue语句的作用是终止本轮循环并开始下一轮循环,要注意的是在开始下一轮循环之前,会先测试循环条件。下面举个例子:
for i in range(10):
if i%2 != 0:
print(i)
continue
i += 2
print(i)
程序运行后,可得到如下结果:
>>>
2
1
4
3
6