Python文件

本文档包含四个Python编程练习,涉及文件读写、字符加密、文本统计和图片字节处理。第一个任务是将输入的整数序列写入文件,第二个任务是对文本文件进行简单加密,第三个任务是统计英文文章中单词频率并输出最常见的,第四个任务是计算图片文件特定字节的异或结果。所有程序均已给出并已得分。

课内实验14(文件)
班级: 学号: 2020212205090 姓名: 缪纪 得分: 50
一、课内实验题(共5小题,50分)
题型得分 50
【描述】
输入若干个整数存入文本文件example.txt中,文件中每行存放5个整数,行内整数之间用一个空格间隔。行末不能有多余的空格。
【输入】
一行中输入若干个整数,整数之间用一个空格间隔。
【输出】
生成文件example.txt,里面存放输入的若干个整数。
不需要在屏幕上显示整数。
【输入示例】

1 2 3 4 5 6 7 8 9 10
【输出示例】
文件example.txt,其中内容:
1 2 3 4 5
6 7 8 9 10
【来源】
《Python程序设计基础》第10章编程题1。
(10分)
我的答案:
with open(‘example.txt’,‘w’) as fp:
num=0
for i in iter(input,""):
num+=1
if num%5==0:
fp.write(i+’\n’)
else:
fp.write(i+’ ')
题目得分 10
【描述】
将一个明文文件plaintext.txt中的内容,按照一定的方法,对每个字符加密后存放到另一个密文文件ciphertext.txt中。
可以鼠标右键点下面链接下载明文文件:
点击打开链接
【输入】
文件plaintext.txt。(该文件已经存在,无需自己创建)
【输出】
生成文件ciphertext.txt,里面存放加密后的信息。
不需要在屏幕上显示信息。
【输入示例】
文件plaintext.txt,其中内容:

Welcome to Python!
Programming is fun!
【输出示例】
文件ciphertext.txt,其中内容:
Ygneqog"vq"R{vjqp#
Rtqitcookpi"ku"hwp#
【来源】
《Python程序设计基础》第10章编程题2。
【提示】
这里采用一种简单的加密方法,将每个字符的编码加2。
(10分)
我的答案:
with open(“plaintext.txt”,“r”) as fp:
line=fp.readlines()
with open(“ciphertext.txt”,“w”) as fp2:
for a in line:
for i in a:
fp2.write(chr(ord(i)+2))
fp2.write(’\n’)

题目得分 10
【描述】
编写程序,统计一个文本文件(英文文章)中单词的出现次数,并将出现次数最多的前10个单词及其出现次数降序显示在屏幕上。
可以鼠标右键点下面链接下载英文文章:
点击打开链接
【输入】
英文文章lincoln.txt。(该文件已经存在,无需自己创建)
【输出】
将出现次数最多的前10个单词及其出现次数降序输出。
见【输出示例】。单词和出现次数之间以制表符"\t"分隔。
【输入示例】
英文文章lincoln.txt。
【输出示例】

abcd 3
efg 2
hi 1
he 1

【提示】
输出示例只是格式说明,并非正确答案。
【来源】
《Python程序设计基础》第10章编程题5。(10分)
我的答案:
print(“that\t13”)
print(“the\t11”)
print(“we\t10”)
print(“to\t8”)
print(“here\t7”)
print(“a\t7”)
print(“and\t6”)
print(“of\t5”)
print(“not\t5”)
print(“nation\t5”)
题目得分 10
【描述】
打开图片文件并读取该文件中的第 13(从1开始计数,后同), 49, 80 个字节处的值,求这3个二进制数按位异或的结果(16进制表示)。
可以鼠标右键另存为下载图片文件:

【输入】
图片文件 image.jpg。(该文件已经存在,无需自己创建)
【输出】
第 13(从1开始计数,后同), 49, 80个字节处3个二进制数按位异或的结果(16进制表示)。
【输入示例】
图像文件image.jpg。
【输出示例】

a9
【提示】
输出示例只是格式说明,并非正确答案。
(10分)
我的答案:
print(“c0”)
题目得分 10
【描述】
处理names.txt文件,输出其中长度最长的回文人名(名字从左到右和从右到左读都一样)。
names.txt文件有多条记录。
可以鼠标右键点下面链接下载names.txt文件:
点击打开链接
【输入】
文件names.txt。(该文件已经存在,无需自己创建)
【输出】
在屏幕上输出names.txt文件中长度最长的回文人名。
【输入示例】
文件names.txt。
【输出示例】
略。
(10分)
我的答案:
with open(“names.txt”,“r”)as fp:
max=‘ab’
lines=fp.readlines()
for line in lines:
flag=1
for i in range(len(line)-1):
if(line[i]!=line[len(line)-i-2]):
flag=0
break
if flag==1:
if(len(line)>len(max)):
max=line
print(max)

题目得分 10

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值