- 欢迎收看你的月亮我的心!大家好!我是肖老师,我又回来了!
一、实验目的:
- 统计不同字符(字母、数字、空格、其他字符)的个数
- 编写程序,检查字符串”Life is short.I use python”中是否包含字符串”python”,若包含则替换为”Python”后输出新字符串,否则输出原字符串。
- 随机生成六位验证码(random模块:randint(0,9)可生成一个0-9之间的随机整数random.choice()从参数中选择一个 string模块:string.ascii_letters可得到所有字母string.digits可得到所有数字)
- 进度条一般以图形的方式显示已完成任务量和未完成任务量,并以动态文字的方式显示 任务的完成度。要求编写程序实现文本进度条功能。(page50)
- 敏感词通常是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。编写代码,实现具有过滤敏感词功能的程序。(page54)
- 使用字符串的方法,将字符串的每一个字符放入列表中
二、实验环境:
安装pycharm2023.3.4
安装适配的jdk
三、实验步骤:
1.统计不同字符(字母、数字、空格、其他字符)的个数
- 先输入一串字符串
- 创建变量记录符号个数
- 利用for循环遍历字符串
- 使用if条件判断是否为字母、数字、空格、其他
- 输出结果,分别有几个
2.编写程序,检查字符串”Life is short.I use python”中是否包含字符串”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模块内容颇多,使用起来方便快捷,功能也比较强大。我此次学习到的是九牛一毛,我也知道此后可以在这方面加强学习。此外,将已经学过的知识学以致用,这加深了我对代码的理解以及运用,我也从中得到了一些新的启发。对格式化输出也有更好的掌握,敲代码是一个日渐熟练的过程,虽然过程有些艰辛,但学到现在乐趣也颇多,我以后一定会更加努力学习。