江湖道

庙堂,江湖,学术!

返回顶部

python流程控制

1.条件判断

Python条件语句是通过一条或者多条语句的执行结果(True或者False)来决定执行的代码块。可以通过如下图的实例简单了解调节语句的执行过程。

if-condition

Python程序语言制定任何非0和非空(null)值为true,0或者null为false。

python编程中if语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else:
    执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
a = 1
while a<5:
    if(a%2 == 0):
        print(a,"is even")
    else:
        print(a,"is odd")
    a+=1

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……
#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
num = 5
if num == 3:  # 判断num的值
    print('boss')
elif num == 2:
    print('user')
elif num == 1:
    print('worker')
elif num < 0:  # 值小于零时输出
    print('error')
else:
    print('roadman')  # 条件均不成立时输出

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
num = 9
if num >= 0 and num <= 10:  # 判断值是否在0~10之间
    print('hello')# 输出结果: hello

num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print('hello')
else:
print('undefine')# 输出结果: undefine

num = 8# 判断值是否在05或者1015之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print('hello')
else:
print('undefine')

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

2.循环语句

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

Python提供了for循环和while循环(在Python中没有do..while循环):

image

循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

image

2.1While 循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:
执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

a = 1
while a < 10:
print(a)
a+=2

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

numbers = [12,37,5,42,8,3]
even = []
odd = []
while len(numbers) > 0:
number = numbers.pop()
if(number % 2 == 0):
even.append(number)
else:
odd.append(number)
print(even,"\n",odd)

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

count = 0
while(count < 9):
print("this is a test:",count)
count = count +1
print("good bye")

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

i = 1
while i < 10:
i+=1
if i%2 >0:
continue
print(i)

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

i = 1while 1:
print(i)
i+=1
if i > 10:
break

无限循环

如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

var = 1
while var == 1: # 该条件永远为true,循环将无限执行下去
num = input("Enter a number :")
print("You entered: ", num)
print("Good bye!")

循环使用 else 语句

在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

count = 0
while count < 5:
print(count,"is less than 5")
count = count + 1
else:
print(count,"is not less than 5 ")

2.2 for循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

for iterating_var in sequence:
statements(s)
#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

for letter in 'python':
print("当前字母:",letter)

fruits = ['banana','apple','mange']
for fruite in fruits:
print("当前水果",fruite)
print("Good bye..")

通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

fruits = ['banana','apple','mango']
for index in range(len(fruits)):
print("当前水果",fruits[index])

print("Good bye")

以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

for num in range(10,20):
for i in range(2,num):
if num%i == 0:
j = num/i
print("%d 等于 %d * %d"%(num,i,j))
break
else:
print(num,"是一个质数")

2.3 循环嵌套

Python 语言允许在一个循环体里面嵌入另一个循环。

Python for 循环嵌套语法:

for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

i = 2
while (i < 100):
j = 2
while (j<=(i/j)):
if not (i % j): break
j = j + 1
if (j>i/j):print(i,"是素数")
i = i + 1
print("Good bye!")

3 循环控制语句

3.1 break 语句

Python break语句,就像在C语言中,打破了最小封闭for或while循环。

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

break语句用在while和for循环中。

如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

Python语言 break 语句语法:

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

for letter in 'Python': # 第一个实例
if letter == 'h':
break
print('当前字母 :', letter)

var = 10 # 第二个实例
while var > 0:
print('当前变量值 :', var)
var = var - 1
if var == 5: # 当变量 var 等于 5 时退出循环
break
breakprint("Good bye!")

3.2 continue 语句

continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在while和for循环中。

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

for letter in 'Python': # 第一个实例
if letter == 'h':
continue
print('当前字母 :', letter)

var = 10 # 第二个实例
while var > 0:
var = var - 1
if var == 5:
continue
print('当前变量值 :', var)
print("Good bye!")

3.3 pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

#!/bin/evn python

-- coding:utf-8 --

Author:Anliu

输出 Python 的每个字母

for letter in 'Python':
if letter == 'h':
pass
print('这是 pass 块')
print('当前字母 :', letter)
print("Good bye!")

posted @ 2020-03-26 16:23  大江东流水  阅读(256)  评论(0编辑  收藏  举报