一、编码:

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

    原文 Ocelot是使用的Butterfly这个项目来实现这个的. 在ocelot要使用tracing, 首先得安装相应的包: Install-Package Ocelot.Tracing.Butte ...

  2. java和数据库中日期类型的常见用法

    (1)java中日期类型:Date.Timestamp(2)数据库中:Date.Timestamp(3)字符串和Date之间的格式化转换:    SimpleDateFormat类方法: format ...

  3. undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

    在编译DSO代码的时候会如下这样的问题: 检查DSO,在程序中没有用到pthread,但是在编译的时候却出现此类问题.仔细想了想了一下,在程序中用到了C++11中的线程std::thread,个人猜测 ...

  4. 51nod 1016 水仙花数

    大水仙花数模板+1…… #include<stdio.h> #include<math.h> #include<queue> #include<vector& ...

  5. pow()函数结果强制转化为int造成误差的分析

    开发环境:codeblocks,编译器gcc 在计算102时调用pow(10, 2),再强制类型转换为int类型后输出: printf(,)); 得到的结果却是:99 这是因为 double pow( ...

  6. Ansible------常用功能

    local_action Ansible 默认只会对控制机器执行操作,但如果在这个过程中需要在 Ansible 本机执行操作就需要使用到local_action become:True Ansible ...

  7. 微信小程序【获取验证码】倒计时效果

    最近开始接触微信小程序,会记录一些相关的小功能——例如这次是点击[获取验证码]按钮出现的倒计时效果. 原文: http://blog.csdn.net/Wu_shuxuan/article/detai ...

  8. 34. Find First and Last Position of Element in Sorted Array

    1. 原始题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在 ...

  9. EF优化之启动预热

    为什么Entity Framework的初始化速度慢如蜗牛呢? 对于在应用程序中定义的每个DbContext类型,在首次使用时,Entity Framework都会根据数据库中的信息在内存生成一个映射 ...

  10. C++设计模式——访问者模式

    访问者模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对访问者模式是这样说的:表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的 ...