python二级和期末复习题
Posted 肥学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python二级和期末复习题相关的知识,希望对你有一定的参考价值。
导读
第一题
【问题描述】编写一个程序,实现文件的复制。程序的任务是将当前目录下filecopy.in文件复制成filecopy.out。
【输入文件】输入文件为当前目录下的filecopy.in。其内容由任意文本构成。
【输出文件】输出文件为当前目录下的filecopy.out。
【样例输入】若输入filecopy.in文件内容如下:
hello world1!#
hello world2!#
hello world3!#
hello world4!#
【样例输出】输出文件filecopy.out内容为:
hello world1!#
hello world2!#
hello world3!#
hello world4!#
解答
with open('filecopy.in',"r") as r:#filecopy.in为你要读取的文件名
r=r.read()
with open('filecopy.out','w') as w:
w=w.write(r)
第二题
【问题描述】写一个统计文件中单词和字符个数的程序。在此,单词指的是仅由字母组成的串。诸如is7years这样的串按照两个单词计算。
【输入形式】读取当前目录下文件in.txt,以统计该文件中单词和字符个数。
【输出形式】输出输入文件中单词和字符个数,中间以一个空格分隔。
【样例输入】in.txt的内容为:
I am an (BeiHang)student.
【样例输出】5 25
【样例说明】该输入文件中共有5个单词(即I, am, an, BeiHang, student)及25个字符。
sum1=0
sum2=0
az=[int(i) for i in range(97,123)]
AZ=[int(i) for i in range(65,90)]
aZ=az+AZ
with open('in.txt',"r") as r:
reader=r.readlines()
for i in reader:
sum2=sum2+len(i)
for j in range(len(i)):
if (ord(i[j]) not in aZ) and (ord(i[j-1]) in aZ):
sum1=sum1+1
print("%d %d"%(sum1,sum2-1))
第三题
【问题描述】有一种加密方法为:其使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feather,则先去掉密钥单词中的重复字母得到单词串feathr,然后再将字母表中的其它字母以反序追加到feathr的后面:
f e a t h r z y x w v u s q p o n m l k j i g d c b
加密字母的对应关系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
f e a t h r z y x w v u s q p o n m l k j i g d c b
其中第一行为原始英文字母,第二行为对应加密字母。其它字符不进行加密。编写一个程序,用这种密码加密文件。假定要加密的文件名为encrypt.txt及加密后的文件名为output.txt,并假定输入文件中字母全为小写字母,并且输入密钥也全为小写字母。
【输入形式】从标准输入中输入密钥串,并从文件encrypt.txt中读入要加密的内容。
【输出形式】加密后结果输出到文件output.txt中。 【样例输入】 feather
和文件encrypt.txt中内容,例如被加密的文件encrypt.txt中内容为: c language is wonderful.
【样例输出】加密后output.txt文件中内容为: a ufqzjfzh xl gpqthmrju.
【样例说明】首先将给定的密钥单词去除重复字母,然后按照上面的加密对应表对encrypt.txt文件内容进行加密即可得到加密后的文件,其中只对英文字母进行加密对换,并且假设encrypt.txt中的英文字母全是小写字母。
解答
key=input()
key2=[]
for i in key:
if i not in key2:
key2.append(i)
keydict={}
j=0
for i in range(97,123):
if chr(122-i+97) not in key2:
key2.append(chr(122-i+97))
keydict[chr(i)]=key2[j]
j+=1
print(keydict)
with open("encrypt.txt",'r',encoding='utf-8') as r:
read=r.read()
put=[]
with open("output.txt",'w',encoding='utf-8') as w:
for i in read:
try:
put.append(keydict[i])
except:
put.append(i)
a=''.join(put)
w.write(a)
w.close()
面试题
同样也是很重要的面试问题Linux
的常用命令之cp
4. cp 命令
(用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下)
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
这套Linux面试必学知识肥学会一直更下去,我觉得我一下子都总结出来。大家肯定放在收藏夹吃灰所以我们就每天学习一点,肥学每一天。
特别介绍
📣小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
📣python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章,可以让你快乐学python练手项目专栏
📣另外想学JavaWeb进厂的同学可以看看这个专栏:传送们
📣这是个面试和考研的算法练习我们一起加油上岸之路
资料领取
以上是关于python二级和期末复习题的主要内容,如果未能解决你的问题,请参考以下文章