- 视频、源码、课件、软件、笔记:超全面Python基础入门教程【十天课程】博客笔记汇总表【黑马程序员】
- Python基础day03【字符串(定义、输入输出、常用方法)、列表(定义、基本使用、增删改查、嵌套)、元组】
目录
1、字符串
题目1 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目2 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目3 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目4 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目5 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
2、列表
题目1 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目2 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目3 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
3、元组 tuple
题目1 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目2 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
1、字符串
题目1 [加强训练]
题干
如果需要使用变量保存以下字符串,我们该如何书写代码。
鲁迅说:"我没有说过这句话"。
训练目标
让学员知道含有字符串嵌套的方式。
训练提示
在python中,有两种表现形式都可以定义为字符串类型,是哪两种方式,是否可以混合使用呢?
参考方案
使用 " " 和 ' ' 都可以对字符串进行定义。
操作步骤
想要在在一个字符串中包含
双引号""
, 字符串可以使用单引号定义想要在在一个字符串中包含
单引号''
, 字符串可以使用双引号定义
参考答案
# 在python中,''可以嵌套在""中,用以表示字符串中的字符串
words = "鲁迅说:'我没有说过这句话'"
print(words)
# 还可以使用三引号
words = """鲁迅说:'我没有说过这句话'"""
print(words)
题目2 [加强训练]
题干
做一个简单的用户信息管理系统:
提示用户依次输入姓名,年龄和爱好。并且在输入完成之后,一次性将用户输入的数据展示出来。
训练目标
字符串的声明、字符串的输入、字符串的输出
训练提示
在python中,通过 "" 或者 '' 声明一个字符串类型的变量
使用input()函数从键盘获取数据
通过%s 的格式化操作符来输出字符串类型
参考方案
通过input函数进行字符串数据的录入
使用 string 类型保存录入的数据
使用 %s 格式化输出保存的数据
操作步骤
通过input函数进行字符串数据的录入
使用 string 类型保存录入的数据
使用 %s 格式化输出保存的数据
参考答案
# 录入数据,并保存在变量中
name = input("请输入姓名:")
age = input("请输入年龄:")
hobby = input("请输入您的爱好:")
# 格式化输出数据
print("您的姓名是%s, 您的年龄是%s, 您的爱好是%s" % (name, age, hobby))
# 使用 f-string
print(f"您的姓名是{name}, 您的年龄是{age}, 您的爱好是{hobby}")
题目3 [加强训练]
题干
现有字符串如下,请使用切片提取出ceg,words = "abcdefghi"。
训练目标
字符串的切片使用
训练提示
- 切片的语法:[起始:结束:步长]
- 选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)
- 步长表示选取间隔,默认步长是正值,即从左到右选取,如果步长为负值,则从右向左选取
参考方案
- 使用切片进行截取,起始位置是-7,结束位置是-1
- 反向选取,步长为2
操作步骤
- 起始位置为-7,结束位置是-1,步长为2
参考答案
a = "abcdefghi"
b = a[-7:-1:2]
print(b) # ceg
题目4 [加强训练]
题干
james有一个关于爬虫的项目,他需要在一个字符串中查找python这个关键字, 当前他通过index()函数进行查找,虽然可以实现查找的需求,但是总会在没有查找到关键字的时候报错,为什么会报错,如何优化?
训练目标
- 理解find函数和index函数的区别
训练提示
find函数如果查找到则返回索引值,如果查不到,则返回-1
index函数如果查找到则返回索引值,如果查不到,则报错
参考方案
- 通过使用find函数的方式替换掉index
操作步骤
- 通过使用find函数的方式替换掉index
参考答案
# 只需要使用find函数替换掉index函数即可,
# 在功能上, find函数index函数完全一致,不同的是index函数在没有查找到关键字的情况下会报ValueError的异常,
# 因此在一般开发环境下通常都会使用find函数
题目5 [加强训练]
题干
- 判断单词great是否在字符串words中,如果在,则将每一个great后面加一个s, 如果不在则输出 great不在该字符串中。
- 将整个字符串的每一个单词都变成小写,并使每一个单词的首字母变成大写。
- 去除首尾的空白,并输出处理过后的字符串。
words = " great craTes Create great craters, But great craters Create great craters "
训练目标
- 字符串的相关操作
训练提示
字符串的相关操作来解决上述问题
使用判断语句来判断语句成立的条件
参考方案
使用in判断某一个子字符串是否在母字符串中
使用replace函数替换子字符串
使用lower函数将字符串变为小写
使用title函数将单词的首字母大写
使用strip函数去除字符串首尾的空白
操作步骤
使用in判断某一个子字符串是否在母字符串中
使用replace函数替换子字符串
使用lower函数将字符串变为小写
使用title函数将单词的首字母大写
使用strip函数去除字符串首尾的空白
参考答案
words = " great craTes Create great craters, But great craters Create great craters "
# 判断单词great是否在这个字符串中
if 'great' in words:
# 将每一个great替换成greats
words = words.replace("great", "greats")
# 将单词变成小写
words = words.lower()
# 将每一个单词的首字母都大写
words = words.title()
# 去除首尾的空白
words = words.strip()
# 最后进行输出
print(words)
else:
print("great不在该字符串中")
2、列表
题目1 [加强训练]
题干
有一个列表,判断列表中的每一个元素是否以s或e结尾,如果是,则将其放入一个新的列表中,最后输出这个新的列表。
list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
训练目标
让学员知道列表的循环和值的获取,以及列表的操作方法。
训练提示
如何找到列表中的每一个元素?
如何判断列表中的元素以什么字符结尾?
参考方案
使用循环遍历的方式获取列表中的每一个元素?
列表中的元素为字符串,所以可以使用下标[-1] 来获取最后一个字符的值,然后判断.
操作步骤
遍历列表中的每一个元素
if 判断 最后一个字符是否是
s
或者e
如果是,使用 append() 方法,将数据追加到新的列表中.
参考答案
my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
# 用来存放以e或者s结尾的字符串
new_list = []
for i in my_list:
# 判断列表中每一个元素是否以s或e结尾
if i[-1] == 's' or i[-1] == 'e':
new_list.append(i)
# 打印出这个新的列表
print(new_list)
方法二:使用字符串中的方法来判断。
my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
# 用来存放以e或者s结尾的字符串
new_list = []
for i in my_list:
# 判断列表中每一个元素是否以s或e结尾
if i.endswith('s') or i.endswith('e'):
new_list.append(i)
# 打印出这个新的列表
print(new_list)
题目2 [加强训练]
题干
给定一个列表,首先删除以s开头的元素,删除后,修改第一个元素为"joke",并且把最后一个元素复制一份,放在joke的后边。
my_list = ["spring", "look", "strange", "curious", "black", "hope"]
训练目标
列表的相关操作
训练提示
通过for循环遍历列表,获取到每一个元素
通过列表的操作方法对列表进行修改
参考方案
通过for循环获取每一个元素
通过remove删除列表中的元素
通过insert函数在指定位置插入元素
操作步骤
通过for循环获取每一个元素,判断是否以
s
开头如果条件成立,则通过remove删除选中的元素
获取到最后一个元素,通过replace将元素放在指定的位置上
参考答案
my_list = ["spring", "look", "strange", "curious", "black", "hope"]
# 列表,删除数据后,数据前移【列表中的某一个元素被删除后,后续元素会自动前移】。
# print(my_list[:]) # ['spring', 'look', 'strange', 'curious', 'black', 'hope']
for i in my_list[:]: # my_list[:]切片,取出所有元素,默认步长为1
# 删除以s开头的元素,
if i[0] == 's':
my_list.remove(i)
# 修改第一个元素为"joke"
my_list[0] = "joker"
# 获取最后一个元素
last_one = my_list[-1]
# 将最后一个元素放在joke的后面
my_list.insert(1, last_one)
print(my_list)
题目3 [加强训练]
题干
将下列两个列表合并,将合并后的列表去重,之后降序并输出。
list1 = [11, 4, 45, 34, 51, 90]
list2 = [4, 16, 23, 51, 0]
训练目标
列表操作方法的使用
训练提示
如何合并两个列表?
如何进行列表去重?
如何排序并降序输出?
参考方案
合并列表可以使用 extend()方法或者两个列表相加。
列表去重有两种方案
自己实现方法实现,借助一个新的列表,循环遍历原列表,判断元素是否在新的列表中,如果在,遍历下一个元素,如果不在,添加到新的列表中。
使用 set() 集合去重
sort 函数可以实现排序,参数reverse=True对列表进行倒序排序
操作步骤
- 使用 + 对列表进行拼接(或者使用 extend)
- 列表去重
- 使用sort函数,参数reverse=True对列表进行倒序排序
参考答案
方案 1
list1 = [11, 4, 45, 34, 51, 90]
list2 = [4, 16, 23, 51, 0]
# 1. 使用 + 合并两个列表
my_list = list1 + list2
# 2. 列表去重
# 2.1 定义新的空列表保存去重后的数据
my_list1 = []
# 2.2 遍历合并后的列表
for i in my_list:
# 2.3 判断i 是否在my_list1 中
if i in my_list1:
# 2.3.1 如果存在,直接下一次循环
continue
else:
# 2.3.2 将i添加到my_list1 中.
my_list1.append(i)
# 3. 循环结束,得到去重后的列表 my_list1,进行排序
my_list1.sort(reverse=True)
# 4. 输出最后的结果
print(my_list1)
方案 2 暂时不用管。后边会学习。
使用集合(set), 去重,
set 也是一个容器,具有自动去重的功能(后续会学习)
目前只需要了解即可。
list1 = [11, 4, 45, 34, 51, 90]
list2 = [4, 16, 23, 51, 0]
# 列表拼接
list3 = list1 + list2
# 列表去重
list4 = set(list3)
list5 = list(list4)
# 列表降序输出
list5.sort(reverse=True)
print(list5) # [90, 51, 45, 34, 23, 16, 11, 4, 0]
3、元组 tuple
题目1 [加强训练]
题干
有如下两行代码:
tuple1 = (2)
tuple2 = (2,)
请问tuple1与tuple2有什么不同?
训练目标
定义一个元素的元组
训练提示
通过肉眼能看到的只是一个逗号的区别,那么在python里面他是怎么理解的呢?
参考方案
用type()方法来分别对这两个变量进行区别
操作步骤
用type(tuple1),与type(tuple12)的结果进行比较
参考答案
tuple1 = (2)
tuple2 = (2,)
print(type(tuple1)) # <class 'int'>
print(type(tuple2)) # <class 'tuple'>
# 对于tuple1 = (2),python解释器会将小括号理解成一个运算符号,那么这时候 返回的值是一个int类型
# 所以对于只有一个元素的元组来说,要创建一个元组,那么就必须要加逗号
题目2 [加强训练]
题干
有如下代码,请回答问题?
my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)
使用下标的方法,输出元组中的元素
"CPP"
使用 for 循环遍历元组
使用 while 循环遍历元组
训练目标
元组的下标操作
元组的 for 循环遍历
元组的 while 循环遍历
训练提示
python 中的下标是从 0 开始,还是从 1 开始?
如何进行 for 遍历?
如何进行 while 遍历?while 的条件怎么写?
参考方案
下标从 0 开始,故 CPP 的下标是 2
使用
for ... in ...
遍历while 循环,需要使用下标,判断条件可以借助
len()
实现
操作步骤
使用下标的方法,取 CPP 的值
for 循环遍历
while 循环遍历
参考答案
my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)
# 1. 使用下标的方法,输出元组中的元素 `"CPP"`使用下标的方法,
result = my_tuple[2]
print(result)
# 2. 使用 for 循环遍历元组
for i in my_tuple:
print(i)
print("-" * 20)
# 3. 使用 while 循环遍历元组
i = 0
while i < len(my_tuple):
print(my_tuple[i])
i += 1
加油~ —— 2021.02.22
最后
以上就是无心香烟最近收集整理的关于Python基础day03 作业解析【5道 字符串题、3道 列表题、2道 元组题】1、字符串2、列表3、元组 tuple的全部内容,更多相关Python基础day03内容请搜索靠谱客的其他文章。
发表评论 取消回复