Python实验项目6 :文件操作与模块化

编程入门 行业动态 更新时间:2024-10-10 02:17:03

Python实验项目6 :文件<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作与模块化"/>

Python实验项目6 :文件操作与模块化

 1、使用random库,产生10个100到200之间的随机数,并求其最大值、平均值、标准差和中位数。

 

# 1、使用random库,产生10个100到200之间的随机数,并求其最大值、平均值、标准差和中位数。
import random
# 定义一个列表
list=[]
for i in range(10):list.insert(i,random.randint(100, 200))
max=list[0]
sum=0#  求和
avg=0#  平均值
std=0# 标准差
mid=0#  中位数
for i in range(10):if max<list[i]:max=list[i]sum+=list[i]
avg=sum/10
list.sort()
mid=list[5]
std=0
for i in range(10):std+=(list[i]-avg)**2std=std/10
std=std**0.5
print(f"最大值为:{max}")
print(f"平均值为:{avg}")
print(f"标准差为:{std}")
print(f"中位数为:{mid}")

2、将一个文件中的所有英文字母转换成大写,复制到另一文件中。 

# 2、将一个文件中的所有英文字母转换成大写,复制到另一文件中。
f=open("a.txt","r")
read = f.read()
f.close()
read = read.upper()
f=open("b.txt","w")
f.write(read)
f.close()

3、中文文本分析与统计。

要求:给出一篇文档“wind.txt”,统计其中词频前 3 位的词及出现次数。

提示:中文文本分析与统计通常是将文件操作与第三方库 jieba 库、字典、列表等知识点结合在一起,重点在于知识综合运用能力。

(1)导入第三方库 jieba 库,该库用于中文分词。

(2)使用当前操作系统默认的编码方式,打开文本文件“wind.txt”,并将文件内容读取到变量 txt 中。

(3)使用 jieba 库的 lcut()方法将 txt 变量分词,分词结果保存到列表 ls 中。

(4)完成词频统计功能,并保存在字典中;将字典中的统计结果保存到列表 freq_word中,然后根据出现频次排序,最后输出

# 3、中文文本分析与统计。
# 要求:给出一篇文档“wind.txt”,统计其中词频前 3 位的词及出现次数。
# 提示:中文文本分析与统计通常是将文件操作与第三方库 jieba 库、字典、列表等知识点结合在一起,重点在于知识综合运用能力。
# (1)导入第三方库 jieba 库,该库用于中文分词。
# (2)使用当前操作系统默认的编码方式,打开文本文件“wind.txt”,并将文件内容读取到变量 txt 中。
# (3)使用 jieba 库的 lcut()方法将 txt 变量分词,分词结果保存到列表 ls 中。
# (4)完成词频统计功能,并保存在字典中;将字典中的统计结果保存到列表 freq_word中,然后根据出现频次排序,最后输出。
import jieba
f=open("wind.txt","r",encoding="utf-8")
text=f.read()
f.close()
for item in ',。!?、;\n:“”':#因为String类是不可变的,也就是说,一旦创建了一个String对象,它的值就无法更改。因此,当调用replace方法时,它并不会改变原始字符串,而是返回一个新的字符串。所以,需要将返回的新字符串赋值给原始字符串变量,才能实现替换操作。text=text.replace(item, "")
print(text)
ls=jieba.lcut(text)
dic={}
for i in ls:if i in dic:dic[i]+=1else:dic[i]=1
freq_word=sorted(dic.items(),key=lambda x:x[1],reverse=True)
print(freq_word[:3])

 4、将一个文件中的指定单词删除后,复制到另一个文件中。

# 4、将一个文件中的指定单词删除后,复制到另一个文件中。
f=open("a.txt","r")
read = f.read()
f.close()
replace = read.replace("a", "")
f=open("b.txt","w")
f.write(replace)# 传的是replace不是read
f.close()

 5、接收用户从键盘输入的一个文件名,然后判断该文件是否存在于当前目录。若存在,则输出以下信息:文件是否可读和可写、文件的大小、文件是普通文件还是目录。

# 5、接收用户从键盘输入的一个文件名,然后判断该文件是否存在于当前目录。
# 若存在,则输出以下信息:文件是否可读和可写、文件的大小、文件是普通文件还是目录。
file_name = input("请输入文件名:")
try:file = open(file_name, "r")print("文件是否可读:", file.readable())print("文件是否可写:", file.writable())print("文件的大小:", file.tell())if(file.isatty()):print("文件是目录")else:print("文件是普通文件")file.close()
except:print("文件不存在!")

 6、将一文本文件加密后输出,规则如下:大写英文字符A变换为C,B变换为D,……,Y变换为A,Z变换为B,小写英文字符规则同上,其他字符不变。

# 6、将一文本文件加密后输出,规则如下:大写英文字符A变换为C,B变换为D,……,Y变换为A,Z变换为B,小写英文字符规则同上,其他字符不变。
f=open('a.txt','r')
f_read = f.read()
print(f"加密前:{f_read}")
f1=open('b.txt','w')
for i in f_read:if i.isupper():if i == 'Y':f_read = f_read.replace(i,'A')elif i == 'Z':f_read = f_read.replace(i, 'B')else:f_read = f_read.replace(i,chr(ord(i)+2))elif i.islower():if i == 'y':f_read = f_read.replace(i, 'a')elif i == 'z':f_read = f_read.replace(i, 'b')else:f_read = f_read.replace(i, chr(ord(i) + 2))
f.close()
f1.write(f_read)
f1.close()
print('加密成功!')
f1=open('b.txt','r')
psw = f1.read()
print(f"加密后:{psw}")

 

 

更多推荐

Python实验项目6 :文件操作与模块化

本文发布于:2023-11-15 17:48:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1603668.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   文件   项目   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!