实验名称:字符串练习

server/2024/11/15 4:39:43/
  • 欢迎收看你的月亮我的心!大家好!我是肖老师,我又回来了!

一、实验目的:

  1. 统计不同字符(字母、数字、空格、其他字符)的个数
  2. 编写程序,检查字符串”Life is short.I use python”中是否包含字符串”python”,若包含则替换为”Python”后输出新字符串,否则输出原字符串。
  3. 随机生成六位验证码(random模块:randint(0,9)可生成一个0-9之间的随机整数random.choice()从参数中选择一个   string模块:string.ascii_letters可得到所有字母string.digits可得到所有数字)
  4. 进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示       任务的完成度。要求编写程序实现文本进度条功能。(page50)
  5. 敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。编写代码,实现具有过滤敏感词功能的程序。(page54)
  6. 使用字符串的方法,将字符串的每一个字符放入列表中

二、实验环境:

安装pycharm2023.3.4 

安装适配的jdk

三、实验步骤:

1.统计不同字符(字母、数字、空格、其他字符)的个数

  • 先输入一串字符串
  • 创建变量记录符号个数
  • 利用for循环遍历字符串
  • 使用if条件判断是否为字母、数字、空格、其他
  • 输出结果,分别有几个

      

2.编写程序,检查字符串”Life is short.I use python”中是否包含字符串”python”,若包含则替换为”Python”后输出新字符串,否则输出原字符串。

  • 先另一个变量接收字符串”Life is short.I use python
  • 使用if语句判断字符串中是否有python
  • 如果有则替换成Python
  • 如果没有原样输出

3.随机生成六位验证码

  • random.randint()随机生成数字
  • random.choice()选择其中一个打印
  • string.ascii_letters打印所有的字母,大小写
  • string.digits打印所有数字

 4.进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示任务的完成度。要求编写程序实现文本进度条功能。(page50)

  • 进度条开始,设置进度条scale
  • 使用for循环,打印*和.来显示进度条
  • 使用格式化打印,^表示居中,3.0f表示字符串占三位且不保留小数
  • 使用time.sleep暂时暂停0.1s
  • 输出显示进度条,进度条结束

5.敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。编写代码,实现具有过滤敏感词功能的程序。(page54)

  • 输入字符串
  • 使用for循环遍历,看是否有敏感词汇
  • 如果有,将*替换
  • 没有,则原样输出

6.使用字符串的方法,将字符串的每一个字符放入列表中

  • 让用户输入字符串
  • 使用split方法,将字符串分隔再组成列表

四、实验结果:

1.统计不同字符(字母、数字、空格、其他字符)的个数

python"># 1.统计不同字符(字母、数字、空格、其他字符)的个数
word = 0
num = 0
blank = 0
other = 0
s = input("请输入一串字符")
print("/n")
for k in s:if k.isalpha():word += 1elif k.isdigit():num += 1elif k ==" ":blank += 1else:other += 1
print(f"该串字符字母{word}个、数字{num}个、空格{blank}个、其他字符{other}个")

2.编写程序,检查字符串”Life is short.I use python”中是否包含字符串”python”,

  若包含则替换为”Python”后输出新字符串,否则输出原字符串。

python">#编写程序,检查字符串”Life is short.I use python”中是否包含字符串”python”,若包含则替换为”Python”后输出新字符串,否则输出原字符串。
s = "Life is short.I use python"
if "python" in s:print(s.replace("python","Python"))
else:print(s)

3.随机生成六位验证码

random模块

randint(0,9)可生成一个0-9之间的随机整数

random.choice()从参数中选择一个

string模块

string.ascii_letters可得到所有字母

string.digits可得到所有数字)

python"># 3.随机生成六位验证码
# (random模块)randint(0,9)可生成一个0-9之间的随机整数
# random.choice()从参数中选择一个
# string模块
# string.ascii_letters可得到所有字母
# string.digits可得到所有数字)
import random
import string
#random.randint()随机生成六位验证码
print(random.randint(1,1000000))
#random.choice()随机选取一个字母输出
print(random.choice("university"))
#获取26个字母打印(大写+小写)
print(string.ascii_letters)
#打印0-9数字

4.进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示       任务的完成度。要求编写程序实现文本进度条功能。(page50)

python"># 4.进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示任务的完成度。要求编写程序实现文本进度条功能
# 文本进度条简单的开始
#way one:
import timescale = 10
print("------执行开始------")
for i in range(scale + 1):a = '*' * ib = '.' * (scale - i)c = (i / scale) * 100print("{:^3.0f}%[{}->{}]".format(c, a, b))time.sleep(0.1)
print("------执行结束------")'''文本进度条实例完整效果:''''''文本进度条单行动态刷新:'''''
print("\n")#way two
import time
for i in range(101):print("\r{:3}%".format(i), end="")   # \n 换行   \r  单行显示,定位于最左侧time.sleep(0.1)#way three
import time
print("\n")
scale = 50
print("执行开始".center(scale // 2, "-"))  # .center 字符串处理方法,将“-”打印在字符串两侧
start = time.perf_counter()  # perf_counter() 计算时间
for i in range(scale + 1):a = '*' * ib = '.' * (scale - i)c = (i / scale) * 100dur = time.perf_counter() - start  # 计算打印文本进度条所消耗的时间print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')time.sleep(0.1)
print("\n" + "执行结束".center(scale // 2, '-'))

5.敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。

编写代码,实现具有过滤敏感词功能的程序。(page54)

python"># 5.敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。
# 编写代码,实现具有过滤敏感词功能的程序。(page54)
s = input("请输入:")
for i in s:if "小日本" in s:print(s.replace("小日本","日本人"))elif "美国佬" in s:print(s.replace("美国佬","美国人"))elif "老不死的" in s:print(s.replace("老不死的","万古长青"))else:print(s)

6.使用字符串的方法,将字符串的每一个字符放入列表中

python"># 6.使用字符串的方法,将字符串的每一个字符放入列表中
s = input("请输入一段字符串:")
print(s.split(","))

!!!!!自己运行代码截图上交。

五、实验心得

这次实验中我学习到了有关random模块以及string模块的相关知识,拓宽了我的知识面。random模块内容颇多,使用起来方便快捷,功能也比较强大。我此次学习到的是九牛一毛,我也知道此后可以在这方面加强学习。此外,将已经学过的知识学以致用,这加深了我对代码的理解以及运用,我也从中得到了一些新的启发。对格式化输出也有更好的掌握,敲代码是一个日渐熟练的过程,虽然过程有些艰辛,但学到现在乐趣也颇多,我以后一定会更加努力学习。


http://www.ppmy.cn/server/45894.html

相关文章

c++指针的*

1.*运算符 *运算符被称为间接值(indirect value)或者解除引用(dereferencing)运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思,c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …

一些图形界面的工具可以帮助你模拟点击和进行其他浏览器自动化操作

1. Selenium IDE Selenium IDE 是一个用于记录、编辑和调试测试的集成开发环境。它有一个图形界面,允许你通过点击和录制来创建测试用例。它支持Chrome和Firefox浏览器。 安装和使用步骤: 在Chrome或Firefox的扩展商店中搜索“Selenium IDE”并安装。打开Selenium IDE扩展。…

Linux系统安全及其应用

文章目录 一、用户账号安全管理1.1 系统账号的清理1.2 对用户账号的操作1.2.1 锁定和解锁用户1.2.2 删除无用账号 1.3 对重要文件进行锁定1.4 密码安全控制1.4.1 新建用户1.4.2 已有用户 二、历史命令管理2.1 历史命令限制2.2 自动清空历史命令 三、设置终端登录的安全管理3.1 …

说明白计算机网络之TCP的流量控制与拥塞控制之慢开始算法与拥塞避免算法

TCP的流量控制 利用滑动窗口实现流量控制 设A向B发送数据,连接建立时候,B告诉A自身的接收窗口大小,A的发送窗口大小不能超过接收方B的窗口大小 流量控制:发送方发送速率不要太快,要让接收方来得及接收。窗口大小的单…

轻松入门:HTML网页制作指南 进阶篇

一.表格标签 1.1表格的主要作用 表格不是用来布局页面的,而是用来展示数据的。 1.2基本语法 <table><tr><td>单元格内的文字</td>...</tr>...</table>说明&#xff1a; 1.<table> </table> 是用于定义表格的标签。 2.<t…

长短时记忆RAG来啦,仿照人脑结构,成本降低20倍,表现提高20%!

自从GPT-4问世之后&#xff0c;大模型似乎变得愈发聪明&#xff0c;拥有了"百科全书"般的知识储备。但它们真的已经接近人类智慧了吗&#xff1f; 事实并非如此&#xff0c;大模型在知识整合和长期记忆方面仍存在明显短板&#xff0c;而这恰恰是人脑的强项。人类的大…

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测 目录 多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预…

Apache Impala 4.4.0正式发布了!

历时半年多&#xff0c;Impala 4.4终于发布了&#xff01;本次更新带来了不少新功能&#xff0c;受限于篇幅&#xff0c;这里简要列举一些&#xff0c;后续文章再挑重点的进行介绍。 支持更多Iceberg表上的语句 支持对 Iceberg V2 表的 UPDATE 语句&#xff0c;用来更新已有数…