Python3笔记 | 第二课:循环、字符串、列表
程序三大执行流程
while循环
while 判断条件 :
条件满足,执行语句执行流程
首先对while条件判断,当条件为true时,执行循环体内语句块,然后再判断while条件,仍然为true泽继续执行语句块,之道提偶建伟false循环结束,执行循环后的代码-
应用场景
对于满足某种条件,重复调用实现相同功能的代码#如果num小于等于10就打印num,然后num+1,程序继续,否则停止 num = 1 while num <= 10: print(num) num += 1
while循环嵌套
语法格式
while 判断条件:
条件满足,执行语句
while 嵌套判断条件:
条件满足,执行语句-
打印沙漏图案
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
for循环
语法格式
for 临时变量 in 序列:
序列中存在待处理元素则进入循环体执行代码-
执行流程
每次循环判断for中的条件,从序列的零脚标开始,将序列中的元素赋值给临时变量,进入循环体执行代码,执行完继续判断for中序列是否存在下一个元素,如果存在则继续进入循环体,依次类推,直到序列中最后一个位置的元素被处理完,循环结束。#range(0,10)[0.......9) for i in range(0,10): print(i)
break跳出循环
跳出break当前所在的整个循环,结束循环,继续执行循环外的语句。比如while嵌套时,如果break只是在内循环,执行到break时只是跳出内循环。for嵌套同理。
-
break的作用范围只作用于它所在的循环,不影响其他外部循环。
i = 0 while i <= 10 : i +=1 if i == 3: break print(i)
输出结果为:
1
2
continue跳出本次循环
continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环
-
while 循环中使用continue
i = 0 while i <= 10 : i +=1 if i == 3: continue print(i)
输出结果为:
1
2
4
5
6
-
for循环中使用continue
for 变量 in 序列 : if 条件 : continue #本次循环结束,后边的代码语句不执行 代码语句 代码语句
字符串
计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte)。
计算机是美国人发明的,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。
全世界有上百种语言,日本把日文编到shift_JTS里,中午有GB2312,韩文有Euc_kr,各国有各国的标准,就会引起冲突。这个时候就诞生了Unicode,把所有的语言统一编码成一套,解决了多语言混合文本中的乱码问题
Python字符串
Python3的字符串是用Unicode编码的,也就是说Python3支持多语言,例如:
#直接输出中英文字符串
print(“你好,David”)
>>>输出结果为:你好,David
字符串类型变量定义
s = "hello" 或者 'hello' #可以是双引号,也可以是单引号。
可以直接用+号连接两个字符串成为新的字符串
S = "hello" + 'David'
字符串下标,通过字符串下标获得指定位置的字符
#str_name[index]
s = "hello"
print(s[1])
>>>输出结果为e (下标是从0开始)
字符串切片,通过起始位,结束位,步长来截取字符串中的部分字符。
str_name[起始:结束:步长]
格式: [start:end:step]
[:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
[start:] 从start 提取到结尾
[:end] 从开头提取到end - 1
[start:end] 从start 提取到end - 1
[start:end:step] 从start 提取到end - 1,每step 个字符提取一个
-
左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1
s = "hello" print(s[0::2]) >>>输出结果为:ace
列表
- list是一种有序的列表,可以存储相同或者不同类型数据的集合,可以做增删改操作
列表定义
name_list = ["zhangsan","lisi","wangwu"]
可以通过下标来获取列表里的元素
name_list[0]
>>>结果为:zhangsan
下标index从0开始,最后一位下标=len(list)-1,Python也提供了list[-1]直接到最后一位元素
-
通过appen()添加元素
name_list = ["zhangsan","lisi","wangwu"] name_list.append("xiaoming") print(name_list) >>>输出结果:['zhangsan', 'lisi', 'wangwu', 'xiaoming']
-
insert(位置,内容)添加元素
name_list = ["zhangsan","lisi","wangwu"] name_list.insert(0,"xiaoming") print(name_list) >>>输出结果:['xiaoming', 'zhangsan', 'lisi', 'wangwu']
-
“+”组合两个列表生成新的列表
name_list = ["zhangsan","lisi","wangwu"] xiaoming = [18,"male",183] print(name_list + xiaoming) >>>输出结果:['zhangsan', 'lisi', 'wangwu', 18, 'male', 183]
-
del()/pop()/remove()输出元素
name_list = ["zhangsan","lisi","wangwu","ming","hong"] del name_list[1] name_list.pop() #op() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 name_list.remove("zhangsan")
-
sort()重新排序
name_list = ["zhangsan","lisi","wangwu","ming","hong"] name_list.sort() #sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
-
reverse()列表内容倒置
name_list = ["zhangsan","lisi","wangwu","ming","hong"] name_list.reverse() #reverse() 函数用于反向列表中元素。
-
count() 方法用于统计某个元素在列表中出现的次数。
name_list = ["zhangsan","lisi","wangwu","ming","hong","zhangsan"] print(name_list.count("zhangsan"))#count() 方法用于统计某个元素在列表中出现的次数。