Python基础之容器1----字符串和列表

一、编码:

  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)

  

  

  

猜你喜欢

转载自www.cnblogs.com/yuxiangyang/p/10658282.html