3 每日练习
题目7(startswith for remove replace)
题干
给定一个列表,首先删除以s开头的元素,删除后,修改第一个元素为"joke",并且并且把最后一个元素复制一份,放在joke的后边
list = [“spring”, “look”, “strange” “curious”, “black”, “hope”]
训练目标
列表包含的操作
列表的相关操作
训练提示
- 通过for循环遍历列表,获取到每一个元素
- 通过列表的操作方法对列表进行修改
参考方案
- 通过for循环获取每一个元素
- 通过remove删除列表中的元素
- 通过replace函数在指定位置插入元素
操作步骤
- 通过for循环获取每一个元素,并使用startswith方法判断是否以某字符串开头
- 如果条件成立,则通过remove删除选中的元素
- 获取到最后一个元素,通过replace将元素放在指定的位置上
参考答案
#1. 通过for循环获取每一个元素,并使用startswith方法判断是否以某字符串开头
#2. 如果条件成立,则通过remove删除选中的元素
#3. 获取到最后一个元素,通过replace将元素放在指定的位置上
list = ['red', 'apples', 'orange', 'pink', 'bananas', 'blue', 'black', 'white']
for i in list[:]:
if i.startswith('b'):
list.remove(i)
print(list)
# 获取最后一个元素
value = list[-1]
print(value)
# 把value放到指定位置
list.insert(1, value)
print(list)
# 修改列表数据
list[-1] = 'black'
# list.replace("white", "black")
print(list)
['red', 'apples', 'orange', 'pink', 'white']
white
['red', 'white', 'apples', 'orange', 'pink', 'white']
['red', 'white', 'apples', 'orange', 'pink', 'black']
题目6 (endswith)
题干
有一个列表,判断列表中的每一个元素是否以s或e结尾,如果是,则将其放入一个新的列表中,最后输出这个新的列表
list = [“red”, “apples”, “orange”, “pink”, “bananas”, “blue”, “black”, “white”]
训练目标
让学员知道列表的循环和值的获取,以及列表的操作方法
训练提示
使用for或者while循环可以取到列表中的每一个值
使用字符串的操作方法可以得知某一个字符串是否是以某值结尾的
参考方案
使用for或while循环获取每一个值
使用endswith可以判断列表中每一个元素是否以s或e结尾
使用append方法可以将元素放入列表中
操作步骤
使用for或while循环获取列表的每一个值
使用endswith判断列表中每一个元素是否以s或e结尾
使用append方法可以将元素放入列表中
参考答案
list = ['red', 'apples', 'orange', 'pink', 'bananas', 'blue', 'black', 'white']
print(list)
new_list = []
for i in list:
if i.endswith('s') or i.endswith('e'):
new_list.append(i)
print(new_list)
['red', 'apples', 'orange', 'pink', 'bananas', 'blue', 'black', 'white']
['apples', 'orange', 'bananas', 'blue', 'white']
题目5 (lower title trip replace)
题干
1,判断单词great是否在这个字符串中,如果在,则将每一个great后面加一个s, 如果不在则输出 great不在该字符串中
2,将整个字符串的每一个单词都变成小写,并使每一个单词的首字母变成大写
3,去除首尾的空白,并输出处理过后的字符串
训练目标
- 字符串的相关操作
训练提示
- 字符串的相关操作来解决上述问题
- 使用判断语句来判断语句成立的条件
参考方案
- 使用in判断某一个子字符串是否在母字符串中
- 使用replace函数替换子字符串
- 使用lower函数将字符串变为小写
- 使用title函数将单词的首字母大写
- 使用strip函数去除字符串首尾的空白
操作步骤
- 使用in判断某一个子字符串是否在母字符串中
- 使用replace函数替换子字符串
- 使用lower函数将字符串变为小写
- 使用title函数将单词的首字母大写
- 使用strip函数去除字符串首尾的空白
参考答案
name = ' sometimes Life hits you In the Head with a brick '
print(name)
if 'you' in name:
# 判断单词great是否在这个字符串中
result = name.replace("you", "them")
result = result.lower()# 将单词变成小写
print(result)
result = result.title()# 将每一个单词的首字母都大写
print(result)
result = result.strip()# 去除首尾的空白
print(result)
else:
print('无')
sometimes Life hits you In the Head with a brick
sometimes life hits them in the head with a brick
Sometimes Life Hits Them In The Head With A Brick
Sometimes Life Hits Them In The Head With A Brick
题目4(find index)
题干
james有一个关于爬虫的项目,他需要在一个字符串中查找python这个关键字,
当前他通过index()函数进行查找,虽然可以实现查找的需求,但是总会在
没有查找到关键字的时候报错,为什么会报错,如何优化?
训练目标
- 理解find函数和index函数的区别
训练提示
- find函数如果查找到则返回索引值,如果查不到,则返回-1
- index函数如果查找到则返回索引值,如果查不到,则报错
参考方案
只需要使用find函数替换掉index函数即可,在功能上, find函数index函数完全一致,不同的是index函数在没有查找到关键字的情况下会报ValueError的异常,因此在一般开发环境下通常都会使用find函数
操作步骤
- 通过使用find函数的方式替换掉index
参考答案
题目3(切片)
题干
现有字符串如下,请使用切片提取出ceg
words = “abcdefghi”
训练目标
字符串的切片使用
训练提示
1, 切片的语法:[起始:结束:步长]
2, 选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),
3, 步长表示选取间隔,默认步长是正值,即从左到右选取,如果步长为负值,则从右向左选取
参考方案
1,使用切片进行截取,起始位置是-7,结束位置是-1
2,反向选取,步长为2
操作步骤
- 起始位置为-7,结束位置是-1,步长为2
参考答案
name = 'recognizer'
result = name[-7:-1:2]
print(result)
题目2(字符串声明输入输出)
题干
做一个简单的用户信息管理系统:
提示用户依次输入姓名,年龄和爱好
并且在输入完成之后,一次性将用户输入的数据展示出来
训练目标
字符串的声明
字符串的输入
字符串的输出
训练提示
- 在python中,通过 “” 或者 ‘’ 声明一个字符串类型的变量
- 使用input()函数从键盘获取数据
- 通过%s 的格式化操作符来输出字符串类型
参考方案
- 通过input函数进行字符串数据的录入
- 使用 string 类型保存录入的数据
- 使用 %s 格式化输出保存的数据
操作步骤
- 通过input函数进行字符串数据的录入
- 使用 string 类型保存录入的数据
- 使用 %s 格式化输出保存的数据
参考答案
# 录入数据,并保存在变量中
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
hobby = input("请输入您的爱好:")
# 格式化输出数据
print("姓名:%s,年龄:%s,爱好:%s" % (name, age, hobby))
题目1(字符串书写)
题干
如果需要使用变量保存以下字符串,我们该如何书写代码
鲁迅说:“我没有说过这句话”
训练目标
让学员知道含有字符串嵌套的方式
训练提示
在python中,有两种表现形式都可以定义为字符串类型,是哪两种方式,是否可以混合使用呢
参考方案
使用 " " 和 ’ ’ 都可以对字符串进行定义
操作步骤
使用""嵌套’'嵌套的方式定义字符串
参考答案
words = "he said:”I did not say that.“"
print(words)
he said:”I did not say that.“