循环语句
当前程序三大执行流程有:顺序执行、选择执行、循环执行
程序在一般情况下是按顺序执行的,循环语句允许我们执行一个语句或语句组多次(循环是让计算机做重复任务的有效的方法)。
Python提供了while循环和for循环,注意,没有do...while循环(这个与其它编程语言不一样)。
while循环
在给定的判断条件为True 时执行循环体,否则退出循环体。
- 语法格式
while 判断条件:
条件满足,执行语句
- 执行流程
首先对while条件判断,当条件为true时,执行循环体内语句块,然后再判断while条件,仍然为true则继续执行语句块,直到条件为false循环结束,执行循环后的代码。 -
应用场景
对于满足某种条件,重复调用实现相同功能的代码。
for循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
- 语法格式
for 临时变量 in 序列:
序列中存在待处理元素则进入循环体执行代码
- 执行流程
每次循环判断for中的条件,从序列的零脚标开始,将序列中的元素赋值给临时变量,进入循环体执行代码,执行完继续判断for中序列是否存在下一个元素,如果存在则继续进入循环体,依次类推,直到序列中最后一个位置的元素被处理完,循环结束。
循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。
- 语法格式
while 判断条件:
条件满足,执行语句
while 嵌套判断条件:
条件满足,执行语句
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
break跳出循环体
跳出break所在的整个循环,结束循环,继续执行循环体外的语句。
Python break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
while 条件:
break #整个循环结束
while 条件:
代码
while 条件:
break #只结束内层整个循环
代码
for 临时变量 in 序列:
break #整个循环结束
for 临时变量 in 序列:
代码
for 临时变量 in 序列:
break #只结束内层整个循环
代码
break的作用范围只作用于它所在的循环,不影响其他外部循环
continue跳出本次循环
continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
while 条件:continue
if 条件:
continue #本次循环结束,后边的代码语句不执行代码语句
for 临时变量 in 序列:
if 条件:
continue #本次循环结束,后边的代码语句不执行代码语句
pass语句
pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句。
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。
字符串
最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可:
s="Hello"
#或
s=‘Hello’
- 组成字符串的方式
- 使用“+”号将两个字符串连接成一个新的字符串
- 使用字符串格式化符号
下标:过通下标获取指定位置的字符,string_name[index]
切片:切片的语法,string_name[起始:结束:步长]
Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
列表(list)
列表可以存储相同或者不同类型数据的集合,是Python中最基本的数据结构;列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现;列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 列表定义
name_list=["xiaom","cchip","xiamen"]
- 顺序存储,可通过下标获取内部元素
name_list[0]
name_list[1]
- 内容可变,可通过下标修改元素值
name_list[0] = “shenzhen”
使用循环遍历列表
嵌套列表
“+”组合两个列表生成新的列表
- append()/nsert()添加元素
- extend()向调用 它的列表中添加另外一个列表的元素
- del()/pop()/remove()删除元素
- in/not in判断元素在列表中是否存在
- sort()列表内元素重排序
- reverse()列表内容倒置
- count()统计列表内指定元素个数
list是一种有序的集合,可以随时添加和删除其中的元素。
例子:
m = 7#控制总行数
i = 0
h = 0 #空格的个数
middle = m // 2 #中间位置
while i<m:
if i <= middle:
h = i
else:
h -= 1
n = m-h*2
#打印一行开头的空格和星号
print(" "*h,end="")#打印开头空格
j = 0
while j < n:
print("*",end="")
j +=1
print("")
i += 1