码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-04-05 12:46:37      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:min   bsp   end   重复   --   pre   技术   number   input   

一、编码:

  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)

 

 

  

  

 

  

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

标签:min   bsp   end   重复   --   pre   技术   number   input   

原文地址:https://www.cnblogs.com/yuxiangyang/p/10658282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!