2021年9月,全国计算机等级考试二级Python备考笔记

2021年9月23日 12点热度 0条评论 来源: python可乐编程

单项选择题

第一题

 

第二题

 

第三题

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:701698587
欢迎加入,一起讨论 一起学习!

 

 

第四题

 

第五题

 

第六题

 

第七题

 

第八题

 

第九题

 

第十题

 

第十一题

 

第十二题

 

第十三题

 

第十四题

 

第十五题

 

第十六题

 

第十七题

 

第十八题

 

第十九题

 

第二十题

 

第二十一题

 

第二十二题

 

第二十三题

 

第二十四题

 

第二十五题

 

第二十六题

 

第二十七题

 

第二十八题

 

第二十九题

 

第三十题

 

 

第三十一题

 

第三十二题

 

第三十三题

 

第三十四题

 

第三十五题

 

第三十六题

 

第三十七题

 

第三十八题

 

第三十九题

 

第四十题

 

程序设计题

第一题

 

代码如下:
x = eval(input()) #输入为"65",由eval函数转变为数值65 print("{:c}".format(x)) #输出Unicode编码为65,对应的字符为"A" # 如果输入的是"a",会出现如下错误提示: # File "<string>", line 1, in <module> # NameError: name 'a' is not defined # 原因:eval函数只能识别数字字符串,对于输入"a",只能被识别为一个变量名称为a, # a 这个变量是不存在的,从而出现错误。 # 如果要避免这样的意外出现,请尝试使用try-catch语句完善代码。 # 本题目的考察点在于format函数的格式输出规则。 

第二题

 

代码如下:
s = input()           #从键盘获取输入,返回字符串 print(s[::-1],end="") #字符串逆序输出,详见代码后说明 print(len(s)) #输出字符串长度 ''' 本题考查的是字符串的一些基本知识。 反序字符串的写法是s[::-1]。 [x:y:z]切片索引,x是左端,y是右端,z是步长,在p[x,y)区间从左到右每隔z取值,默认z是1,可以省略参数z,步长为负号就是反向,从右到左取值。 ''' 

第三题

 

代码如下:
import random #导入random模块 random.seed(123) #设置随机数种子123,保证每次执行时生成的相同的随机序列 for i in range(10): #遍历循环 print(random.randint(1,999), end=",") #输出[1,999]上的随机整数,以结尾英文逗号隔开 #如:54,275,90,788,418,273,111,859,923,896, #因为随机种子固定,每次执行会得到同样的输出。 ''' seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。 seed()方法的语法: import random random.seed([x]) 注意:seed()是不能直接访问的,需要导入random模块,然后通过random静态对象调用该方法。 参数x -- 改变随机数生成器的种子seed。 random.randint(a,b)返回一个a至b区间(包含a和b)的整数。 ''' 

第四题

 

代码如下: import turtle turtle.pensize(2) d = 0 for i in range(1,9): turtle.fd(100) d += 45 turtle.seth(d) 

第五题

 

代码如下:
#从键盘上获取字符串,按回车键结束输入。形如:计算机 金融 计算机 建筑 土木 土木 计算机 names = input("请输入各个同学行业名称,行业名称之间用英文空格间隔(回车结束输入):") #str.split()函数可分割从键盘上获取的字符串,返回一个列表,默认缺省分隔符为英文空格。 ''' | split(self, /, sep=None, maxsplit=-1) | Return a list of the words in the string, using sep as the delimiter string. | | sep | The delimiter according which to split the string. | None (the default value) means split according to any whitespace, | and discard empty strings from the result. | maxsplit | Maximum number of splits to do. | -1 (the default value) means no limit. ''' t = names.split() d = {} #定义一个字典 for c in range(len(t)): #对列表t中每一个元素统计出现次数 d[t[c]] = d.get(t[c],0)+1 #要掌握字典get方法的具体使用,详见代码后面。 ls = list(d.items()) #将字典的items()转换为列表,形如[("计算机",3),...] ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序 for k in range(len(ls)): #输出排序后的统计结果 zy,num = ls[k] #例如:ls[0]=("计算机",3),执行完该语句后,zy="计算机",num = 3 print("{}:{}".format(zy,num))#按照格式输出结果 

第六题

 

代码如下:
fi = open("论语.txt", "r") fo = open("论语-原文.txt", "w") a=0 for line in fi: if a==1 and line.count("【注释】")==0 and line.count("【原文】")==0: line = line.strip(" \n") if line.strip():#判断line是否为空串 fo.write('{}\n'.format(line)) if line.count("【原文】")>0: a=1 if line.count("【注释】")>0: a=0 fi.close() fo.close() 

第七题

 

代码如下:
fi = open("论语.txt", "r") fo = open("论语-原文.txt", "w") a=0 for line in fi: if a==1 and line.count("【注释】")==0 and line.count("【原文】")==0: line = line.strip(" \n") if line.strip():#判断line是否为空串 fo.write('{}\n'.format(line)) if line.count("【原文】")>0: a=1 if line.count("【注释】")>0: a=0 fi.close() fo.close()
    原文作者:python可乐编程
    原文地址: https://www.cnblogs.com/pythonQqun200160592/p/15319479.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。