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

news2024/11/24 10:35:40

 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)**2
    std=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]+=1
    else:
        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}")

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL–第4关:查询用户日活数及支付金额

MySQL–第4关&#xff1a;查询用户日活数及支付金额 – WhiteNights Site 标签&#xff1a;MySQL 非常好的题&#xff0c;爱来自中国。 题目 没啥用 任务描述 现有3张业务表&#xff0c;详见如下: 需要输出结果如下&#xff0c;没有支付的日期不需要显示&#xff0c;请写出对…

Leetcode---370周赛

题目列表 2923. 找到冠军 I 2924. 找到冠军 II 2925. 在树上执行操作以后得到的最大分数 2926. 平衡子序列的最大和 一、找到冠军I 第一题模拟题&#xff0c;简单来说是看每一行(列)是否全是1&#xff0c;当然不包括自己比自己强的情况&#xff0c;需要特判 代码如下 …

python回文日期 并输出下一个ABABBABA型回文日期

题目&#xff1a; 输入&#xff1a; 输入包含一个八位整数N&#xff0c;表示日期 对于所有的测评用例&#xff0c;10000101 ≤N≤89991231&#xff0c;保证N是一个合法日期的8位数表示 输出&#xff1a; 输出两行&#xff0c;每行一个八位数。第一行表示下一个回文日期第二…

任务管理器的正确使用教程

快捷键 Ctrlshiftesc&#xff1a;进入任务管理器 我以Win11举例 如何给XX排序 给XX排序&#xff0c;点击空白处可以选择某项降序排列&#xff08;可以找到最占用某项资料的程序&#xff09;&#xff0c;再点击空白处可以选择某项升序排列 文件正在使用&#xff0c;如何解决 …

windows系统下查看安卓apk的sha1

1.在apk所在文件夹打开cmd或者powershell 2.输入 certutil -hashfile xxx.apk SHA1 这样就可以了 3.指令格式 certutil -hashfile FileName [HashAlgorithm] certutil -hashfile&#xff1a;原样输入 FileName&#xff1a;文件名 HashAlgorithm&#xff1a;可选项包括&…

简述扫码登录原理及测试要点

扫码登录本质是解决将APP端的用户登录信息&#xff08;通常是Token&#xff09;通过扫码的形式安全稳定地同步给Web端。 操作流程&#xff1a; 打开登录页面&#xff0c;展示一个二维码(web)&#xff1b;打开APP扫描该二维码后&#xff0c;APP显示确认、取消按钮(app)&#xf…

A Survey on Neural Network Interpretability

A Survey on Neural Network Interpretability----《神经网络可解释性调查》 摘要 随着深度神经网络的巨大成功&#xff0c;人们也越来越担心它们的黑盒性质。可解释性问题影响了人们对深度学习系统的信任。它还与许多伦理问题有关&#xff0c;例如算法歧视。此外&#xff0c;…

野火霸天虎 STM32F407 学习笔记_5 按键输入;位带操作介绍

输入——按键点灯 开发板按键电路如下&#xff1a; 按键未按下接地&#xff0c;按下后为高电平。电容起到消抖作用&#xff0c;软件处理就不需要手动延时消抖了。 编程没啥难度&#xff0c;就是改了一下输入模式。使用 ReadInputDataBits 读取。 //bsp_button.c #include &q…

golang 2018,go 1.19安装Gin

GOPROXYhttps://mirrors.aliyun.com/goproxy/ 一致提示URL不能有点&#xff0c;给我整郁闷了&#xff0c;换了这个地址好了 但是一致提示zip的包问题&#xff0c;最后还是不行又换回七牛 NEWBEE&#xff01; [GIN-debug] Environment variable PORT is undefined. Using por…

SAE 2.0,让容器化应用开发更简单

云原生容器化应用托管模式的演变 云原生这个概念从提出&#xff0c;到壮大&#xff0c;再到今天的极大普及&#xff0c;始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的&#xff0c;应用通…

多元高斯分布

下面我们来看一下多元高斯分布&#xff0c;叫做 multivariative 高斯分布&#xff0c;也就是目前的情况是向量的形式&#xff0c;也就是说我的 x 它是一个向量&#xff0c;那这个情况下我们的高斯分布应该怎么去表示&#xff1f;我们这里面重点还是来看一下它的一个表示的方法&…

【Linux系统编程十五】:(基础IO2)--重定向实现原理 “Linux下一切皆文件“

【Linux系统编程十五】&#xff1a;重定向原理 与 "Linux下一切皆文件" 一.重定向1.实现原理2.输出重定向3.输入重定向4.补充&#xff1a;简易shell中实现重定向 二."Linux下一切皆文件"1.虚拟文件系统(VFS) 一.重定向 我们首先关闭2号文件描述符&#xff…

HTTP协议 和 HTTPS协议

一、HTTP协议&#xff1a; HTTP协议是超文本传输协议的缩写&#xff0c;英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTPP有多个版本&#xff0c;目前…

Read Completion Boundary (RCB)切分规则

Read Completion Boundary(RCB) 切分规则 Read Completion Boundary(RCB) 简介 当Read Completion 包含multi-completions时&#xff0c;RCB 规定了多个Completions地址的align规则。Spec中规定RCB可以是64 Byte或者128 Byte&#xff0c;该值可以在link_control register中得…

什么是观察者模式?用 Python 如何实现 Observer(观察者或发布订阅)对象行为型模式?

什么是观察者模式&#xff1f; 观察者模式&#xff08;Observer pattern&#xff09;是一种行为型设计模式&#xff0c;它允许对象之间建立一种一对多的依赖关系&#xff0c;当一个对象的状态发生变化时&#xff0c;其相关依赖对象都会得到通知并自动更新。 在观察者模式中&am…

Leo赠书活动-06期 【强化学习:原理与Python实战】文末送书

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

CVE-2023-0179-Nftables整型溢出

前言 Netfilter是一个用于Linux操作系统的网络数据包过滤框架&#xff0c;它提供了一种灵活的方式来管理网络数据包的流动。Netfilter允许系统管理员和开发人员控制数据包在Linux内核中的处理方式&#xff0c;以实现网络安全、网络地址转换&#xff08;Network Address Transl…

MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

创建表格 要在MySQL中创建表格&#xff0c;请使用"CREATE TABLE"语句。 确保在创建连接时定义了数据库的名称。 示例创建一个名为 “customers” 的表格&#xff1a; import mysql.connectormydb mysql.connector.connect(host"localhost",user"…

图文解析 Nacos 配置中心的实现

目录 一、什么是 Nacos 二、配置中心的架构 三、Nacos 使用示例 &#xff08;一&#xff09;官方代码示例 &#xff08;二&#xff09;Properties 解读 &#xff08;三&#xff09;配置项的层级设计 &#xff08;四&#xff09;获取配置 &#xff08;五&#xff09;注册…

nfs配置

1.NFS介绍 NFS就是Network File System的缩写&#xff0c;它最大的功能就是可以通过网络&#xff0c;让不同的机器、不同的操 作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文 件系统中&#xff0c;而在本地端的系统中来看&#…