所在的位置: python >> python资源 >> Python教程15Python

Python教程15Python

Python流程控制是Python编程中非常重要的一部分,它用于控制程序的执行流程。Python提供了多种流程控制语句,包括if语句、while循环、for循环、break和continue语句等。这种流程控制在各个语言中都是大同小异的,如果你已经学过其他的语言,那么这章节就可以直接跳过。

##if语句

if语句用于根据条件执行不同的代码块。`condition`是一个布尔表达式,后面一定要加冒号,这是python语法规定。if语句后面的条件表达式是可以加括号的,但并不是必须的。使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据个人编码风格和团队约定进行选择。

```python

ifcondition:

#codetobeexecutedifconditionisTrue

else:

#codetobeexecutedifconditionisFalse

```

下面的代码演示了如何使用if语句来判断一个数是否为正数:

```python

num=int(input("请输入一个整数:"))

ifnum0:

print("输入的数是正数")

else:

print("输入的数不是正数")

```

##elseif语句

elseif语句用于在if语句之后添加多个条件分支,使用方式和if语句是一样的。另外需要注意的是最后的else语句是直接在else后面加冒号的,应该后面已经没有判断条件了。

```python

ifcondition1:

#codetobeexecutedifcondition1isTrue

elifcondition2:

#codetobeexecutedifcondition1isFalseandcondition2isTrue

else:

#codetobeexecutedifcondition1andcondition2areFalse

```

`condition1`和`condition2`是两个布尔表达式,如果它们的值为True,则执行相应的代码块;否则执行else语句中的代码块。下面的代码演示了如何使用elseif语句来判断一个数是否为偶数:

```python

num=int(input("请输入大于0的数:"))

ifnum0:

print("输入的数大于0")

elseifnum0:

print("输入的数小于0")

else:

print("输入的数等于0")

```

##for循环

for循环用于遍历一个序列(如列表、元组或字符串)中的元素。它的语法如下:

```python

forelementinsequence:

#codetobeexecutedforeachelementinsequence

```

其中,`element`是当前遍历到的序列元素的值,`sequence`是一个序列(如列表、元组或字符串)。循环体内的代码块可以包含任意Python语句。在每次循环迭代中,`element`的值都会被更新为下一个序列元素的值。

###遍历类型

for循环是可以用于遍历各种序列,主要有列表、元组、字符串、字典等。

1.遍历列表:

```python

fruits=["apple","banana","orange"]

forfruitinfruits:

print(fruit)

```

2.遍历元组:

```python

numbers=(1,2,3,4,5)

fornuminnumbers:

print(num)

```

3.遍历字符串:

```python

word="Python"

forcharinword:

print(char)

```

4.遍历字典的键:

```python

ages={"John":25,"Alice":28,"Bob":30}

fornameinages:

print(name)

```

###range关键字

以上是for循环遍历列表元组相关操作,有时候我们又需要遍历序列,这时候就需要`range`关键字了。在Python中,`range()`是一个内置函数,用于生成一个整数序列。它可以通过指定起始值、结束值和步长来生成相应的序列。

`range()`函数的语法如下:

```python

range(stop)

range(start,stop)

range(start,stop,step)

```

参数说明:

-`start`(可选):起始值,默认为0。

-`stop`:结束值,生成的序列不包括该值。

-`step`(可选):步长,默认为1。

`range()`函数返回的是一个可迭代对象,通常与for循环结合使用。当只传递一个参数时,默认是作为结束值;当传递两个参数时,第一个参数作为起始值,第二个参数作为结束值;当传递三个参数时,第一个参数作为起始值,第二个参数作为结束值,第三个参数作为步长。

以下是一些使用`range()`函数的示例:

```python

#生成0至4的整数序列

numbers1=range(5)

print(list(numbers1))#[0,1,2,3,4]

#生成1至10的整数序列

numbers2=range(1,11)

print(list(numbers2))#[1,2,3,4,5,6,7,8,9,10]

#生成0至10的偶数序列

numbers3=range(0,11,2)

print(list(numbers3))#[0,2,4,6,8,10]

forelementinrange(start,stop,step):

#在此处执行循环体语句

```

需要注意的是,`range()`函数生成的是惰性序列(lazysequence),它并不会一次性地将所有的值都存储在内存中,而是在需要的时候才生成新的值。如果想要立即获取包含所有整数的列表,可以使用`list(range(start,stop,step))`的方式进行转换。

```python

#遍历1至10的整数,步长为1

fornuminrange(1,11,1):

print(num)

#遍历0至10的偶数,步长为2

fornuminrange(0,11,2):

print(num)

#遍历10至1的整数,步长为-1

fornuminrange(10,0,-1):

print(num)

```

##while循环

while循环用于重复执行一段代码,直到满足某个条件为止。它的语法如下:

```python

whilecondition:

#codetobeexecutedrepeatedlyuntilconditionisFalse

```

`condition`是一个布尔表达式,如果它的值为True,则执行循环体内的代码块;否则跳出循环。循环体内的代码块可以包含任意Python语句。

下面的代码演示了如何使用while循环来计算1到的和:

```python

total=0

i=1

whilei=:

total+=i

i+=1

print("1到的和为:",total)

```

注意,在while循环中,一定要确保在循环体中更新循环条件的值,以避免无限循环的情况发生。如果条件永远为真,会导致代码陷入无限循环的状态,程序无法继续向下执行。

为了避免无限循环,可以在循环体内使用适当的条件控制语句(如break)来跳出循环,或者在外部设定一个计数器,并确保在合适的时机更新计数器的值。

##break语句

`break`是一种控制流语句,在循环中使用它可以立即终止循环并跳出循环体,进而执行循环外的下一条语句。当`break`语句被执行时,程序将会跳出循环,继续执行循环后面的代码。它可以用于`while`循环、`for`循环等循环结构。

```python

fruits=["apple","banana","cherry","date"]

forfruitinfruits:

iffruit=="cherry":

break

print(fruit)

print("Loopends")

```

输出结果为:

```

apple

banana

Loopends

```

在上面的示例中,当循环遍历到`"cherry"`时,满足条件`fruit=="cherry"`,`break`被执行,立即终止了循环。因此,后续的`"date"`不会被输出。

使用`break`语句可以在满足特定条件时,提前退出循环,从而减少不必要的迭代。在某些情况下,特定条件的出现可能会导致循环无需执行其余部分,这时可以利用`break`来提前终止循环,节省计算资源。

##continue语句

在Python中,`continue`语句用于跳过当前循环中的剩余代码,并继续执行下一次循环。当`continue`语句被执行时,程序将立即跳转到循环的开头,而不执行`continue`语句之后的代码。它通常用于条件判断内部,用来控制循环的执行流程。

```python

foriinrange(1,11):

ifi%2==1:

continue

print(i)

```

上述代码将输出偶数的数字,而跳过了奇数。输出结果如下:

```

2

4

6

8

10

```

在上述示例中,循环从1到10,当遇到奇数时,`continue`语句将会跳过`print(i)`的执行,直接进入下一次循环,从而实现了只输出偶数的效果。

需要注意的是,`continue`语句只会跳过当前循环内部的剩余代码,不会终止整个循环。如果要彻底终止循环,可以使用`break`语句。




转载请注明:http://www.aierlanlan.com/rzgz/9394.html

  • 上一篇文章:
  •   
  • 下一篇文章: