目录:导读
- 一、Python控制流语句
- 二、Python分支语句(if)
- 三、Python循环语句(while与for)
- While循环
- for循环
- range()语法
- break语句
- continue语句
- else语句
- pass语句
- for 循环嵌套
- while 循环嵌套
- 用for循环实现冒泡排序(升序)
一、Python控制流语句
程序设计中的控制语句有3种,即顺序、分支和循环语句
顺序结构:
语句的执行顺序是按照程序语句书写的顺序,从上到下依次执行
选择结构:
是指下一步执行语句有多个选择分支,程序执行流程根据当前的状态,选择其中
一个分支执行
循环结构:
是指如果满足一定条件,则反复执行一段程序,直到条件不满足为止
二、Python分支语句(if)
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块
Python程序语言指定任何 非0 和 非空( none )、True值为逻辑真,0 或者 none、False为逻辑假
Python 编程中 if 语句用于控制程序的执行(如下图)
基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
其中 “判断条件” 成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围,else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句
if 语句的判断条件可以用: >(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系
当判断条件为多个值时,可以使用下面的形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现
如果判断需要多个条件需同时判断时
1.可以使用 or (或),表示两个条件有一个成立时判断条件成功
2.使用 and (与),表示只有两个条件同时成立的情况下,判断条件才成功
三、Python循环语句(while与for)
循环语句允许我们执行一个语句或语句组多次,下图是在大多数编程语言中的循环语句的一般形式
Python提供了while循环和for循环(在Python中没有do…while循环)
while 循环:给定的判断条件为 true 时执行循环体,否则退出循环体
for 循环:可以遍历任何序列的项目,如一个列表或者一个字符串
While循环
while 判断条件:
执行语句……
[else:
执行语句……]
执行语句可以是单个语句或语句块,判断条件可以是任何表达式,任何非零、或非空( null )的值均为true。当判断条件假false时,循环结束。else 中的语句会在循环正常执行完
例如:
a=10
count = 0
while a>0:
count=count+a
a=a-1
else:
print(count)
for循环
for 迭代变量 in 可迭代对象:
执行语句...
[else :
执行语句...]
每次循环,迭代变量被设置为可迭代对象 (序列, 迭代器, 或者是其他支持迭代的对象) 的当前元素, 提供执行语句块使用,直到可迭代对象遍历完成终止
例如:
for letter in 'abcdef':
print('当前字母 :', letter)
fruits = ['aaa', 'bbb', 'ccc']
for fruit in fruits:
print('当前字母 :', fruit)
range()函数
如果需要遍历数字序列,可以使用内置range()函数,它会生成数列
range()语法
range(start, end, step=1):顾头不顾尾
range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8,9]
range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3,
4, 5, 6, 7, 8, 9]
range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7,
9]
通过序列索引迭代:
fruits = ['aaa', 'bbb', 'ccc']
for index in range(len(fruits)):
print('当前字母 :', fruits[index])
break语句
用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句,break语句用在while和for循环中
如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码
continue语句
用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环,continue语句用在while和for循环中
else语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样
pass语句
是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句
例1:求100以内偶数之和
i = 0
sum = 0
while i < 100:
i = i+1
if i % 2 != 0:
continue
sum += i
else:
print(sum)
例2:求质数
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print('%d 等于 %d * %d' % (num,i,j));
break; # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')
Python 循环嵌套:Python 语言允许在一个循环体里面嵌入另一个循环
for 循环嵌套
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
while 循环嵌套
while expression:
while expression:
statement(s)
statement(s)
也可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环
用for循环实现冒泡排序(升序)
方法一:
array = [3,2,1];
for i in range(len(array) - 1, 0, -1):
for j in range(0, i):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
print(array)
方法二:
arr=[3,8,7,4,3,0,21,33,45,67];
for i in range(1,len(arr)):
for j in range(0,len(arr)-i):
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j];
print(arr);