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 < :
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----字符串和列表的更多相关文章
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- python基础之数字、字符串、列表、元组、字典
Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in 为真 not in 为假 (1).算术运算符: 运算符 描述 实例 + 加 表示两个对象相加 a + b输出结果3 ...
- Python基础灬序列(字符串、列表、元组)
序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...
- 2.python基础深入(元组、字符串、列表、字典)
一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...
- python基础(变量,字符串,列表,元组)
#列表的操作list1 = ['wuqiang','lichang','changhao'] #列表的定义print(list1) #操作列表print(list1[-1]) #操作列表的最后一位li ...
- MOOC python笔记(三) 序列容器:字符串、列表、元组
容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...
- Python基础教程之第2章 列表和元组
D:\>python Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Typ ...
- Python【第二课】 字符串,列表,字典,集合,文件操作
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...
- python基础一数据类型之字符串
摘要: python基础一中有字符串,所以这篇主要讲字符串. 一,字符串的注释 二,字符串的索引与切片 三,字符串的方法 一,字符串的注释 单引号 双引号 三引号都可以用户定义字符串.三引号不仅可以定 ...
- Python基础知识之认识字符串
Python有一个名为“STR”与许多方便的功能(有一个名为“串”,你不应该使用旧的模块),内置的字符串类. 字符串常量可以通过双或单引号括起来,尽管单引号更常用. 反斜杠工作单,双引号内的文字通常的 ...
随机推荐
- dense prediction问题
dense prediction 理解:标注出图像中每个像素点的对象类别,要求不但给出具体目标的位置,还要描绘物体的边界,如图像分割.语义分割.边缘检测等等. 基于深度学习主要的做法有两种: 基于图 ...
- Arduino-接口图
Arduino开发板上数字输入输出引脚中的3.5.6.9和11都提供0V和5V之外的可变输出.在这些引脚的旁边,会标有PWM——脉冲宽度调制,PWM是英文“Pulse Width Modulation ...
- react-router(v4) 路由跳转后返回页面顶部问题
遇到的问题 由A页面跳转到B页面,B页面停留在A页面的位置,没有返回到顶部. 问题分析 首先分析下出现此问题的原因: 在项目中使用的是 hashHistory,它是建立在 history 之上的,当路 ...
- Illegal invocation with document.querySelector [duplicate]
document.querySelectorAll赋给其它变量时, 为什么要.bind(document)? https://stackoverflow.com/questions/12637061/ ...
- .Net Core---- 自带Json返回日期带T格式 解决
前段时间再做core的列表显示中(前台代码是在.net core bootstrap集成框架上的(这是效果浏览地址:http://core.jucheap.com[效果地址来自:http://blog ...
- matplotlib 无法显示中文和负号的解决办法
matplotlib无法显示中文和负号解决办法
- tp框架设置404页面
无法加载模板跳向404页面 /thinkphp/library/think/Dispatcher.class.php中176行 // 加载模块的扩展配置文件 load_ ...
- PHP实现微信商户支付企业付款到零钱功能代码实例
本文为大家分享了PHP实现微信商户支付企业付款到零钱的具体代码,供大家参考,具体内容如下 微信支付开发文档 一.开通条件 企业付款为企业提供付款至用户零钱的能力,支持通过API接口付款,或通过微信支付 ...
- Angular项目中核心模块core Module只加载一次的实现
核心模块CoreModule在整个系统中只加载一次,如何实现? 创建core Modele:ng g m core 既然CoreModule是类,就有构造函数,在构造函数中进行依赖注入. export ...
- shaderlab UV动画所需的变量声明
优化资源.美术需要迫使自己的顶点shader能够进行TRANSFORM_TEX运算,进行该运算的前提是需要声明一个 _MainTex_ST 变量,类型为float4即可. 此时就可以使用unity c ...