一、编码:
1、编码只是梳理
2、编码涉及的函数:
3、实例:
字符串内存图
二、字符串
1、定义:由一系列字符组成的不可变序列容器,存储的是字符的编码值。
不可变:指字符串一旦定义,其内存地址就已经确定不能改变
序列:指字符的编码在内存中按照一定的顺序存储
2、字符串的字面值:
(1)单双引号:
(2)三引号:
(3)转义字符:
3、字符串格式化:
实例:
二、列表
1、列表定义:
内存图:
2、创建列表:
3、添加列表元素:
4、删除列表元素:
5、定位元素:
6、遍历元素:
三、容器通用操作
1、数学运算
实例:
2、成员运算:
实例:
3、索引(index)
索引内存图
实例:
4、切片
实例
四、综合实例演练
练习1:在控制台中获取一个字符串,打印每个字符的编码值.
str_input = input("请输入文字:") for item in str_input: print(ord(item))
练习2:在控制台中循环输入编码值,显示字符.直到输入负数时,退出.
while True: number = int(input("请输入编码值:")) if number < 0: break print(chr(number))
练习3:在控制台中,获取一个字符串.
1. 打印第一字符
2. 打印最后一个字符
3. 如果是奇数,打印中间的字符串(len(字符串))
4. 打印倒数3个字符
5. 倒叙打印字符串
str_input = input("请输入字符串:") #1. 打印第一字符 print(str_input[0]) # print(str_input[-len(str_input)]) #2. 打印最后一个字符 print(str_input[-1]) # print(str_input[len(str_input) - 1]) #3. 如果是奇数,打印中间的字符串(len(字符串)) if len(str_input) % 2 == 1: print(str_input[len(str_input) // 2]) #4. 打印倒数3个字符 print(str_input[-3:]) #5. 倒叙打印字符串 print(str_input[::-1])
练习4:在控制台中输入一个整数,根据整数打印一个矩形,要求如下
""" 输入整数: 4
****
* *
* *
****
"""
number = int(input("请输入:")) # 头 print("*" * number) # 中间 for i in range(number -2): print("*" + " "*(number - 2) +"*") # 尾 print("*" * number)
练习5:在控制台中录入学生成绩,计算总分,最高分,最低分。
“请输入学生总数:”
“请输入第1个学生成绩:”
stu_count = int(input("请输入学生总数:")) list01 = [] for i in range(stu_count): score = int(input("请输入第%d个学生成绩:"%(i+1))) list01.append(score) print("总分:%d."%(sum(list01))) print("最高分:%d."%(max(list01))) print("最低分:%d."%(min(list01)))
练习6:在控制台中录入学生姓名。
要求:姓名不能重复
如果录入esc,则停止录入,打印每个学生姓名
list_names = [] while True: name = input("请输入第%d个学生姓名:" % (len(list_names) + 1)) if name == "esc": break # 如果姓名不存在: if name not in list_names: list_names.append(name) for item in list_names: print(item)
练习7.获取最大/最小值
list01 = [34, 5, 6, 78, 9, 0, 5, 8, 88, 4] # 假设第一个元素就是最大值 max = list01[0] # 依次与后面(从第二个开始)元素进行比较 for i in range(1,len(list01)): # 发现更大的,则替换假设的. if max < list01[i]: max = list01[i] # 最后假设的就是真的最大值. print(max)