:Python流程控制语句(IFWHILEFORRANGE)
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:Python流程控制语句(IFWHILEFORRANGE)相关的知识,希望对你有一定的参考价值。
- 部分参考:菜鸟教程
文章目录
从本章开始,就要正式接触Python中的语句了,Python与其他语言有很大不同,其中最大的一个特点就是强制使用空格作为缩进,此外还有很多细节上面的不同,例如
- 每条语句后面不需要加分号(但是加上也不会报错)
- 不需要使用花括号分割语句块
- …
关于流程控制语句,关于他们的原理本文就不细说了,相信大家都有C语言基础。本文主要介绍Python中流程控制语句的格式(就算没有那高中起码也学习过吧)
一:条件控制语句
- 条件控制语句主要用于解决选择性问题
(1)条件语句执行过程
(2)Python中条件语句基本格式
Python中条件语句的一般形式如下所示,需要注意
- Python 中用
elif
代替了else if
,所以if
语句的关键字为:if – elif – else
- 每个条件后面要使用冒号
:
,表示接下来是满足条件后待执行的语句块 - 使用缩进来划分语句块,相同缩进数的语句组成一个语句块
- 在Python中没有
switch-case
语句 - 区分
=
和==
- 如果暂时不知道写什么语句,可以使用
pass
进行占位,以保证结构的完整性
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
- 如果
condition_1
为True
将执行statement_block_1
块语句 - 如果
condition_1
为False
,将判断condition_2
- 如
condition_2
为True
将执行statement_block_2
块语句 - 如果
condition_2
为False
,将执行statement_block_3
块语句
(3)实例
下面是一个猜数字小游戏
number = 5
guess = -1
print("猜数字游戏!")
while number != guess:
guess = int(input("请输入:"))
if guess == number:
print("猜对了")
elif guess < number:
print("太小了")
else:
print("太大了")
(3)if嵌套
在嵌套 if
语句中,可以把 if...elif...else
结构放在另外一个 if...elif...else
结构中
- 注意:实际开发中不要嵌套太多
if
,正确做法是提取出其中的业务逻辑,组装成函数
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
二:While循环控制语句
(1)While循环语句执行过程
(2)Python中While循环语句基本格式
Python中while
循环语句的一般形式如下所示,需要注意
- 注意冒号和缩进
- Python中没有
do while
循环 while
特别容易造成死循环,在使用时要格外注意
while 判断条件(condition):
执行语句(statements)……
另外,while
也可以结合else
使用
- 当判断为
False
时,会执行additional_statement(s)
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
三:for循环控制语句
(1)for循环语句执行过程
for
循环可以用来遍历任何可迭代对象,例如set
、dict
,其执行过程如下
(2)Python中for循环语句基本格式
Python中for
循环语句的一般形式如下所示,需要注意
for
循环在遍历时经常会涉及打印,如果打印时不需要换行,可以输入print(x, end=' ')
- for也可以结合
else
使用,并且是在所有元素都遍历完毕之后才会执行else
(其实很鸡肋,几乎用不到)
for <variable> in <sequence>:
<statements>
else:
<statements>
###### 举个栗子1 #####
a = ["C++", "Python", "Java", "Ruby"]
for x in a:
print(x)
###### 举个栗子2 #####
a = [["C++", "Python", "Java", "Ruby"], ["1", "2", "3", "4"], [33, 44, 55, 66]]
for x in a:
for y in x:
print(y)
(3)break和continue语句
关于break
和continue
都是循环中老生常谈的话题了,这里不再赘述了
for
循环在遍历的过程中遇到break
语句会直接跳出循环
a = ["C++", "Python", "Java", "Ruby", "Matlab", "SQL"]
for x in a:
if x == "Ruby":
print("退出循环")
break
print(x)
特别注意,break
只会跳出本层循环
- 下面的例子中只跳出了内层循环,所以后面元组中的内容打印了出来;同时由于外层循环中没有
break
,所以与之对应的else
语句也被打印了出来
a = [['apple', 'orange', 'banana', 'grape'], (1, 2, 3)]
for x in a:
for y in x:
if y == "orange":
break
print(y)
else:
print("外层循环结束")
for
循环在遍历的过程中遇到continue
语句会略过此次循环,直接进行下次循环
a = ["C++", "Python", "Java", "Ruby", "Matlab", "SQL"]
for x in a:
if x == "Ruby":
continue # 此时"Ruby"将会被略过
print(x)
(4)range()函数
在C/C++中关于for
循环其用法是这样的,其中循环变量i
会从0增到10,然后自动跳出循环
for(int i = 0; i < 10; i++)
//语句块
而在Python是依靠range()
函数解决的,它会按照你的设定生成指定的数字序列,配合for
循环使用更加便捷,例如
###############示例1###############
for i in range(5): # 0~5
print(i)
.....
0
1
2
3
4
###############示例2###############
for i in range(5, 9): # 5,6,7,8
print(i)
.....
5
6
7
8
###############示例3###############
```python
for i in range(0, 10, 2): # 从0~9,步长为2
print(i)
.....
0
2
4
6
8
###############示例4###############
```python
for i in range(-10, -100, -30): # 注意步长负号表示方向
print(i)
.....
-10
-40
-70
现在,我们就可以使用range()
来遍历序列了
a = ["C++", "Python", "Java", "Ruby", "Matlab", "SQL"]
for i in range(len(a)):
print(i, a[i])
以上是关于:Python流程控制语句(IFWHILEFORRANGE)的主要内容,如果未能解决你的问题,请参考以下文章