内容正文:
项目4 创建和使用字符串
项目内容
判断密码强度
过滤敏感词
获取文本进度条
01
02
03
项目目标
知识目标
熟悉字符串的创建
熟悉字符串的格式化
熟悉字符串的常用操作
会创建字符串
会利用字符串的格式化方法完成输出
会利用字符串解决实际问题
技能目标
3
过滤敏感词
03
字符串的常用操作
字符串拼接
>>> str_one = “人工智能下"
>>> str_two = "我用Python。"
>>> str_one + str_two
人工智能下我用Python。
字符串重复
>>> str1 = "Python "
>>> str1*3
Python Python Python
字符串的replace()方法可使用新的子串替换目标字符串中原有的子串,该方法的语法格式如下:
字符串替换
str.replace(old, new, count=None)
old -- 表示原有子串 new -- 表示新的子串 count -- 用于设定替换次数
字符串的find()方法可实现字符串的查找操作,该方法可查找字符串中是否包含子串,若包含子串则返回子串首次出现的索引位置,否则返回-1。
其语法格式如下:
str.find(sub[, start[, end]])
这里:sub用于指定要查找的子串,start开始索引,默认值为0,end结束索引,默认为字符串的长度。
字符串查找
字符串对象的strip()方法一般用于去除字符串两侧的空格,该方法的语法格式如下:
去除字符串两侧空格
str.strip(chars=None)
chars -- 要去除的字符,默认为空格。
字符串的split()方法可以使用分隔符把字符串分割成序列,该方法的语法格式如下:
字符串分割
str.split(sep=None, maxsplit=-1)
sep -- 分隔符,默认为空格 maxsplit -- 用于设定分割次数。
字符串大小写转换
有一些特殊情况需要对字符串的大小写形式有要求。Python中支持字符串的字母大小写转换的方法有upper()方法、lower()方法、capitalize()方法和title()方法。
方法 功能说明
upper() 将字符串中的小写字母全部转换为大写字母
lower() 将字符串中的大写字母全部转换为小写字母
capitalize() 将字符串中第一个字母转换为大写字母
title() 将字符串中每个单词的首字母转换为大写字母
字符串索引与切片
字符串是一个由元素组成的序列,每个元素所处的位置是固定的,并且对应着一个位置编号,编号从0开始,依次递增1,这个位置编号被称为索引或者下标。
索引自0开始从左至右依次递增,这样的索引称为正向索引;若索引自-1开始,从右至左依次递减,则索引为反向索引。
字符串索引
索引用于获取字符串中的一个字符,通过索引可以获取指定位置的字符。格式如下:
字符串[索引]
当通过索引访问字符串值时,索引的范围不能越界,否则程序会报索引越界的异常。
字符串切片
切片可以获取一个字符串的子串,即一串字符。切片是截取目标对象中一部分的操作,格式如下:
[起始:结束:步长]
切片步长默认为1。注意,切片选取的区间属于左闭右开型,切下的子串包含起始位,但不包含结束位。
字符串索引切片
实例1:验证码校验。用户登录网站经常需要输入验证码。验证码包含大小写英文字母和数字,随机出现。用户在输入验证码时不区分大小写,只要各字符出现的顺序正确即可通过验证。本实例要求编写程序完成验证码的匹配验证。
假设当前显示的验证码是‘Zy6K’,如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。
代码如下:
bb='Zy6K'
sc=input()
for i in range(4):
if bb[i]==sc[i].upper() or bb[i]==sc[i].lower():
f=1
else:
print('验证码错误,请重新输入')
break
if i==3:
print('验证码正确')
任务实践-过滤敏感词
敏感词是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。大部分网站、论坛、社交软件都会使用敏感词过滤系统,考虑到该系统的复杂性,这里使用字符串中的replace()方法模拟敏感词过滤,将含有敏感词的语句使用“*”符号进行替换。
本任务要求编写程序,实现替换语句中敏感词功能。
任务实践-过滤敏感词
(1)设定一个敏感词库(本任务敏感词库设定为一个字符串);
(2)使用for循环遍历敏感词库;
(3)遍历过程中,使用if语句判断用户输入的语句中是否含有敏感词,如果包含敏感词,则使用replae()方法将其替换为“*”;
(4)将替换后的语句赋值给变量test_sentence;
(5)在for循环外使用print()函数输出变量test_sentence。
代码如下:
sensitive = '你好' # 敏感词库
test_sentence = input('请输入一段话:')
for line in sensitive: # 遍历输入的字符是存在敏感词库中
if line in test_sentence: # 判断是否包含敏感词
test_sentence = test_sentence.replace(line, '*')
print(test_sentence)
请输入一段话:你好,我是张三
**,我是张三
项目总结
本项目通过3个任务分别介绍了Python字符串的相关知识,包括什么是字符串、格式化字符串、字符串的常用操作,并结合程序举例和任务实践演示了字符串的使用。
通过本项目的学习,希望能够掌握字符串的使用。
$$