一、编码:

  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 < :
break
print(chr(number))

  练习3:在控制台中,获取一个字符串.
    1.  打印第一字符
    2.  打印最后一个字符
    3.  如果是奇数,打印中间的字符串(len(字符串))
    4.  打印倒数3个字符
    5.  倒叙打印字符串

    

str_input = input("请输入字符串:")
#. 打印第一字符
print(str_input[])
# print(str_input[-len(str_input)])
#. 打印最后一个字符
print(str_input[-])
# print(str_input[len(str_input) - ])
#. 如果是奇数,打印中间的字符串(len(字符串))
if len(str_input) % == :
print(str_input[len(str_input) // 2])
#. 打印倒数3个字符
print(str_input[-:])
#. 倒叙打印字符串
print(str_input[::-])

  练习4:在控制台中输入一个整数,根据整数打印一个矩形,要求如下

    """ 输入整数: 4
        ****
        *  *
        *  *
        ****

    """

number = int(input("请输入:"))
# 头
print("*" * number)
# 中间
for i in range(number -):
print("*" + " "*(number - ) +"*")
# 尾
print("*" * number)

 

   练习5:在控制台中录入学生成绩,计算总分,最高分,最低分。
     “请输入学生总数:”
     “请输入第1个学生成绩:”

    

stu_count = int(input("请输入学生总数:"))
list01 = []
for i in range(stu_count):
score = int(input("请输入第%d个学生成绩:"%(i+)))
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) + ))
if name == "esc":
break
# 如果姓名不存在:
if name not in list_names:
list_names.append(name) for item in list_names:
print(item)

  练习7.获取最大/最小值

  

list01 = [, , , , , , , , , ]
# 假设第一个元素就是最大值
max = list01[]
# 依次与后面(从第二个开始)元素进行比较
for i in range(,len(list01)):
# 发现更大的,则替换假设的.
if max < list01[i]:
max = list01[i]
# 最后假设的就是真的最大值.
print(max)

    练习8: 在控制台中循环录入字符串,输入q时退出.然后显示一个新的字符串.

    

list_result = []
while True:
str_input = input("请输入:")
if str_input =="q":
break
# str_result = str_result + str_input
# (1)使用列表拼接
list_result.append(str_input) #() 使用join合并
str_result = "".join(list_result)
print(str_result)

    练习9:判断字符串是否是回文:
        上海自来水来自海上
        奶牛产牛奶
        提示:字符串翻转  str01[::-1]

while True:
Str1 = input('请输入一个字符串:')
if Str1 == 'q':
break
else:
Str2 = Str1[::-]
if Str1 == Str2:
print('“%s”是回文字符串' % Str1)
else:
print('“%s”不是回文字符串' % Str1)

    练习10: 一注彩票7个球
        前六个是红球:1 -- 33 之间的数字,且不能重复.
          最后一个是蓝球:1 -- 16 之间的数字
        (1) 在控制台中购买彩票

    

ticket = []
# 前六个红球:
while len(ticket) < :
number = int(input("请输入第%d个红球号码:"%(len(ticket) + )))
if number < or number > :
print("不再范围内")
elif number in ticket:
print("该号码已经存在")
else:
ticket.append(number)
# 蓝球:
while True:
number = int(input("请输入蓝球号码:"))
if <= number <= :
ticket.append(number)
break # 退出循环
else:
print("不再范围内") print(ticket) # 只是将列表转换为字符串 再显示 # 获取每个元素
# for item in ticket:
# print(item)

    (2) 随机产生一注彩票

  

import random

ticket = []
while len(ticket) < :
number = random.randint(,)
if number not in ticket:
ticket.append(number) # 排序
# ticket.sort() # number = random.randint(,)
# ticket.append(number)
ticket.append(random.randint(,)) # 需求:对列表执行范围的元素进行排序
# ()通过切片返回新列表
temp = ticket[:]
# ()对新列表进行排序
temp.sort()
# ()将新列表赋值给原列表
ticket[:] = temp print(ticket)

  

  

Python基础之容器1----字符串和列表的更多相关文章

  1. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  2. python基础之数字、字符串、列表、元组、字典

    Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in  为真 not in  为假 (1).算术运算符: 运算符 描述 实例 + 加  表示两个对象相加 a + b输出结果3 ...

  3. Python基础灬序列(字符串、列表、元组)

    序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...

  4. 2.python基础深入(元组、字符串、列表、字典)

    一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...

  5. python基础(变量,字符串,列表,元组)

    #列表的操作list1 = ['wuqiang','lichang','changhao'] #列表的定义print(list1) #操作列表print(list1[-1]) #操作列表的最后一位li ...

  6. MOOC python笔记(三) 序列容器:字符串、列表、元组

    容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...

  7. Python基础教程之第2章 列表和元组

    D:\>python Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Typ ...

  8. Python【第二课】 字符串,列表,字典,集合,文件操作

    本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...

  9. python基础一数据类型之字符串

    摘要: python基础一中有字符串,所以这篇主要讲字符串. 一,字符串的注释 二,字符串的索引与切片 三,字符串的方法 一,字符串的注释 单引号 双引号 三引号都可以用户定义字符串.三引号不仅可以定 ...

  10. Python基础知识之认识字符串

    Python有一个名为“STR”与许多方便的功能(有一个名为“串”,你不应该使用旧的模块),内置的字符串类. 字符串常量可以通过双或单引号括起来,尽管单引号更常用. 反斜杠工作单,双引号内的文字通常的 ...

随机推荐

  1. [译]Ocelot - Load Balancer

    原文 可以对下游的服务进行负载均衡. 提供了下面几种负载均衡: LeastConnection - tracks which services are dealing with requests an ...

  2. css 常用的绝对定位元素水平垂直居中的方法

    两种方法都能够实现: 1. div { height:80%; /*一定要设置高度*/ overflow:hidden;/*建议设置*/ margin: auto; position: absolut ...

  3. Nginx详解篇

    Nginx主配置文件和参数: Nginx的默认站点目录是Nginx安装目录/application/nginx/下的html目录,如果要部署网站业务,只需要把开发号好的程序全部放置到/applicat ...

  4. luogu P5293 [HNOI2019]白兔之舞

    传送门 关于这题答案,因为在所有行,往后跳到任意一行的\(w_{i,j}\)都是一样的,所以可以算出跳\(x\)步的答案然后乘上\(\binom{l}{x}\),也就是枚举跳到了哪些行 如果记跳x步的 ...

  5. Linux文件权限命令及配置

    http://www.cnblogs.com/CgenJ/archive/2011/07/28/2119454.html

  6. 分布式系列六: WebService简介

    WebSerice盛行的时代已经过去, 这里只是简单介绍下其基本概念, 并用JDK自带的API实现一个简单的服务. WebSerice的概念 WebService是一种跨平台和跨语言的远程调用(RPC ...

  7. PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

    sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于 ...

  8. Beta冲刺(5/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(5/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 ppt制作中 数据集标注 接下来的计划 制作p ...

  9. 【原创】大数据基础之Drill(2)Drill1.14+Hive2.1.1运行

    问题 Drill最新版本是1.14,从1.13开始Drill支持hive的版本升级到2.3.2,详见1.13的release notes The Hive client for Drill is up ...

  10. 【异常处理】Java异常如何做异常处理

    类似SpringMVC项目的异常处理可以这样做: 整个项目创建全局的: 1.一个自定义异常如OneException和错误码,统一封装所有异常. 2.一个返回实体类ResponseEntity,包含返 ...