: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_1True 将执行 statement_block_1 块语句
  • 如果 condition_1False,将判断 condition_2
  • condition_2True 将执行 statement_block_2 块语句
  • 如果condition_2False,将执行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循环可以用来遍历任何可迭代对象,例如setdict,其执行过程如下

(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语句

关于breakcontinue都是循环中老生常谈的话题了,这里不再赘述了

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)的主要内容,如果未能解决你的问题,请参考以下文章

python基础 —— 流程控制语句

python流程控制语句-if语句

python流程控制语句

Python流程控制语句

Python流程控制语句怎么写?

python流程控制语句-if