一、编码:

  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 - Routing

    原文 Ocelot主要的功能就是将http请求转发到对应的下游服务上去. Ocelot将一个请求路由到另外一个路由的动作叫做ReRoute.为了能让Ocelot能正常工作,需要在配置中设置ReRout ...

  2. [译]Ocelot - Request Id / Correlation Id

    原文 Ocelot可以通过header的形式发送一个requestid.ocelot会将这个requestid转发到下游服务. 如果在日志配置中设置了IncludeScopes为true,那么requ ...

  3. 2.6 if嵌套

    if嵌套 通过学习if的基本用法,已经知道了 当需要满足条件去做事情的这种情况需要使用if 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else 想一想: 坐火车或者地铁的实际情况是: ...

  4. SQL 两个表有关联,通过其中一个表的列,更新另一个表的列。

    换了工作又开始写SQL了. update dic_rate_package set post_next_day=t.post_next_day from dic_package t inner joi ...

  5. [转] fastText

    mark- from : https://www.jiqizhixin.com/articles/2018-06-05-3 fastText的起源 fastText是FAIR(Facebook AIR ...

  6. JS基础之传参(值传递、对象传递)

    一.概念 我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference).在计算机科学里,这个部分叫求值策略(Evaluation Strategy). ...

  7. 【原创】数据库基础之Mysql(2)主从库配置

    一 安装 # wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm# yum -y insta ...

  8. npm安装less和less-loadernpm或者stylus和stylus-loader

    vue-cli 构建的项目默认是不支持 less 的,需要自己添加. 首选,安装 less 和 less-loader ,在项目目录下运行如下命令 npm install less less-load ...

  9. H5新特性之data-*

    简单介绍:html5的data-*能够为标签添加一些自定义的属性和值,并且这种自定义的属性和值可以通过js来获取,十分的便捷 代码: //html<tr th:each="plan : ...

  10. Git使用八:创建和切换分支

    git的分支 与svn对比 克隆一份全新的目录以同样拥有 5 个分支来说,SVN 是同时复制 5 个版本的文件,也就是说重复 5 次同样的动作.而 Git 只是获取文件的每个版本的元素,然后只载入主要 ...