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二级和期末复习题的主要内容,如果未能解决你的问题,请参考以下文章

python二级练习和考试复习(检查重复元素)

Python期末复习资源

JavaScript期末复习

python二级-练习题

python二级-练习题

Python数据分析与可视化期末复习笔记整理(不挂科)