Python基础之循环、字符串、列表

循环语句

当前程序三大执行流程有:顺序执行、选择执行、循环执行
程序在一般情况下是按顺序执行的,循环语句允许我们执行一个语句或语句组多次(循环是让计算机做重复任务的有效的方法)。

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