2018年9月随着全国计算机等级考试科目中加入“二级Python”,也确立了Python在国内的地位
这里有部分Python题库编程,送给选取Python作为考试的童鞋
我们发现这个里面有很多数学问题,也有很多概念问题,有Python语法的基础易错点,混淆点
1.基本要求
掌握Python语言的基本语法规则。 掌握不少于2个基本的Python标准库。 掌握不少于2个Python第三方库,掌握获取并安装第三方库的方法。 能够阅读和分析Python程序。 熟练使用IDLE开发环境,能够将脚本程序转变为可执行程序。 了解Python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、Web开发等
2.考试内容
(一)、 Python语言基本语法元素
程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。 基本输入输出函数:input()、eval()、print()。 源程序的书写风格。 Python语言的特点。
(二)、 基本数据类型
程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。 基本输入输出函数:input()、eval()、print()。 源程序的书写风格。 Python语言的特点。
(三)、 程序的控制结构
程序的三种控制结构。 程序的分支结构:单分支结构、二分支结构、多分支结构。 程序的循环结构:遍历循环、无限循环、break和continue循环控制。 程序的异常处理:try-except。
(四)、函数和代码复用
函数的定义和使用。 函数的参数传递:可选参数传递、参数名称传递、函数的返回值。 变量的作用域:局部变量和全局变量。
(五)、 组合数据类型
组合数据类型的基本概念。 列表类型:定义、索引、切片。 列表类型的操作:列表的操作函数、列表的操作方法。 字典类型:定义、索引。 字典类型的操作:字典的操作函数、字典的操作方法。
(六)、 文件和数据格式化
文件的使用:文件打开、读写和关闭。 数据组织的维度:一维数据和二维数据。 一维数据的处理:表示、存储和处理。 二维数据的处理:表示、存储和处理。 采用CSV格式对一二维数据文件的读写。
(七)、 Python计算生态
标准库:turtle库(必选)、random库(必选) 、time库(可选)。 基本的 Python内置函数。 第三方库的获取和安装。 脚本程序转变为可执行程序的第三方库:PyInstaller库(必选)。 第三方库:jieba库(必选)、wordcloud库(可选)。 更广泛的 Python计算生态,只要求了解第三方库的名称,不限于以下领域:网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、Web开发、游戏开发等。
代码如下自己复制一个一个去看看吧
# 计算机二级Python程序设计编程题库 # 1.用户输入一个小数,获取整数部分 # a=tuple(input("输入数字:")) # num=a.index(".") # b=(a[:num]) # for c in b: # print(c,end="") # 1.获得用户输入的一个整数N,计算并输出N的32次方 # num=int(input("输入数字:")) # num_1=int(input("输入指数:")) # print(pow(num,num_1)) #获得用户输入的一段文字,将这段文字进行垂直输出 # a=input("请输入你的文本:") # for i in a: # print(i) # 获得用户输入的一个合法算式,例如1.2+3.4,输出运算结果。 # print(eval(input("输入算数:"))) # 获得用户输入的一个整数N,计算并输出1到N相加的和。 # num=int(input("输入数字:")) # sum=0 # for i in range(num): # sum+=i+1 # print(sum) # 1.获得用户输入的一个整数,输出该整数百位及以上的数字。 # num=input("输入数字:") # a=len(num) # if a <=2: # print("no!") # else: # num=eval(num) # print(num//100) #获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来 # s=input("输入一段字符串:") # sl=s.split(' ') # for a in sl: # print(a) # 程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三 # i=eval(input("输入你的数字:")) # l=['星期一','星期二','星期三','星期四','星期五','星期六','星期日'] # print(l[i-1]) #.设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等, # 则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。 # i=eval(input("输入数字:")) # s=str(i) # l=len(s)//2 # flag=True # while l>0: # if s[l-1]!=s[-l]: # flag=False # print("no") # break # l=l-1 # if flag==True: # print('yes') # .输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。 # x=eval(input("输入数字:")) # print(hex(x)) # print(oct(x)) # s='' # while x>1: # x,b=divmod(x,2) # s=str(b)+s # s='1'+s # print('0b'+s) # 输入一个年份,输出是否是闰年。闰年条件:能被4整除但不能被100整除,或者能被400整除的年份,都是闰年。 # while True: # try: # year = eval(input("请输入一个年份:")) # break # except: # print("输入有错") # if year % 4 == 0 and year % 100 != 0: # print("闰年") # elif year % 400 == 0: # print("闰年") # else: # print("不是闰年") #最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。 # 最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。 # a=eval(input("输入第一个数字:")) # b=eval(input("输入第二个数字:")) # if a<b: # a,b=b,a # c=a*b # while a%b!=0: # a,b=b,a%b # print(b) # print(int(c/b)) # 统计不同字符个数。用户从键盘键入一行字符, # 编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。 # s=input("请输入一个字符串") # eng=0 # num=0 # back=0 # other=0 # for c in s: # if (c>='a' and c<='z')or \ # (c>='A' and c<='Z'): # eng+=1 # elif c>='0' and c<='9': # num+=1 # elif c==' ': # back+=1 # else: # other+=1 # print("英文字符有%s"%eng) # print("数字有{}".format(num)) # print("空格有%s"%back) # print("其他字符有%s"%other) #羊车门问题。有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊, # 只有主持人知道每扇门后面是什么。参赛者可以选择一扇门。在开启它之前, # 主持人会开启另外一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。 # 请问,参赛者更换选择后能否增加猜中汽车的机会? # ——这是一个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的概率。 # import random # right=0 # right2=0 # j=10000 # for i in range(j): # car=random.randint(1,3) # choice=random.randint(1,3) # if car==choice: # right+=1 # while True: # god=random.randint(1,3) # if god!=car and god!=choice: # break # if 6-choice-god==car: # right2+=1 # print("{:.2%}".format(right/j)) # print("{:.2%}".format(right2/j)) # 实现isNum()函数,参数作为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。 # def isNum(str): # try: # str=eval(str) # if type(str)==type(10) \ # or type(str)==type(1.0) \ # or type(str)==type(1+1j): # return True # else: # return False # except: # return False # f=isNum('123..') # print(f) # 实现isPrime函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。 # def isPrime(i): # try: # for j in range(2,i): # if i%j==0: # return False # return True # except: # print('请输入整数') # print(isPrime(12)) # 编写一个函数,打印200以内的所有素数,以空格分隔。 # def prime(num): # for i in range(2,num+1): # flag=True # for j in range(2,i): # if i%j==0: # flag=False # break # if flag: # print(i,end=' ') # a=int(input("输入需要求得范围:")) # prime(a) # 编写一个函数,参数为一个整数n。利用递归获取斐波那契数列中的第n个数并返回 # def fib(num): # if num == 1 or num == 2: # return 1 # return fib(num - 1) + fib(num - 2) # num=int(input("输入一个整数:")) # print(fib(num)) # .英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。 # 这个不仅可以对英文字符进行统计,可以对任何字符进行统计 # str='kdjfierjkemfkdjfiek中肿中V工r‘\'\'’na;akdfqpeirAJSKJDIWunn v' # str=str.lower() # strdict={} # for c in str: # #if c>='a' and c<='z': # strdict[c]=strdict.get(c,0)+1 # strlist=list(strdict.items()) # strlist.sort(key=lambda x:x[1],reverse=True) # for i in range(len(strlist)): # print("{0:<10}{1:>10}".format(strlist[i][0],strlist[i][1])) # 随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。 # import random # # l = list() # passwds = [] # passwd = [] # i = ord('0') # while i <= ord('z'): # l.append(chr(i)) # i += 1 # if chr(i - 1) == "Z": # i = ord('a') # elif chr(i - 1) == '9': # i = ord('A') # # for ii in range(10): # for j in range(8): # ran = random.randint(0, len(l) - 1) # passwd.append(l[ran]) # # print(passwd) # passwds.append(passwd.copy()) # passwd.clear() # for items in passwds: # for item in items: # print(item, end='') # print('\n')