Python二级等考知识点整理——高教版Python语言程序设计冲刺试卷(二)

《高教版Python语言程序设计冲刺试卷》——模拟试卷B知识点

本文根据该书模拟试卷B答案及试卷讲解整理得,具有题目针对性,不涵盖部分送分题。欢迎探讨。

1.算法的复杂度
算法的复杂度包括时间复杂度和空间复杂度。
时间复杂度:执行算法的计算工作量。(最坏情况复杂性下基本运算次数)
空间复杂度:执行算法所需内存空间。
2.数据结构
数据结构:相互有关联的数据元素的集合表示,包括逻辑结构和存储结构。
3.信息屏蔽
信息屏蔽:一个模块内包含的信息对其它不需要这个信息的模块是不能访问的。
信息屏蔽与模块独立性相关。
4.软件工程详细设计工具
程序流程图、N-S、PAD、HIPO、判定表、PDL(伪码)都算。
CSS层叠样式表是HTML文件样式的表示,不算软件工程设计工具。
5.关系表
关系表:关系模型中把数据看作二维表。每一行称为一个元组。
6.E-R图转换成关系模式
数据库范畴,在转换时实体与联系都可以表示成关系,E-R图属性也可转换为关系的属性。
7.标识符
在标识符中出现的符号只允许下划线_,特殊符号如*!?都是非法的。
8.eval
eval函数的定义:将输入的字符串转换为python语句并执行该语句。eval(source,globals=None,locals=None,/)
定义的翻译:eval的input是一个字符串表达式,output是执行该表达式的值。
所以eval不仅可以狭义地获得用户输入的数字,还能执行数值计算式和提取字符串(二者都要用引号包含)
>>>eval("‘Hello’")
‘Hello’
9.turtle.circle(r,e)
画圆。r半径值为正,逆时针。值为负顺时针。

10.简单应用题2
代码如下:

def getInput():
    try:
        s=input()
        while eval(s)!=int(s):
            s=input()
    except:
        return getInput()
    return eval(s)
print(getInput())

代码比较简单,主要补强知识:
①return <函数名> 返回函数开头的用法。
②一个函数中出现return并不绝对表示函数的结束,如异常处理结构中的return单纯结束异常处理本身,不会退出整个函数。

11.综合应用题
代码如下,是自己敲的,后来参照答案优化了一下:

#TianlongbabuExtract
import jieba
def LETTEREXTRACT(filename):
    d,ls={},[]
    file=open(filename,'r',encoding='utf-8')
    newfile=open('天龙八部-汉字统计.txt','w',encoding='utf-8')
    txt=file.read()
    for letter in txt:                      #字符串遍历的方法不能过滤掉标点符号
        d[letter]=d.get(letter,0)+1
    del d[' ']
    del d['\n']
    for key in d:                           #字典的遍历用法要记住
        ls.append(key+':'+str(d[key]))      #append()只接受一个str,但可以用操作符在()内产生一个string
    newfile.write(','.join(ls))
    file.close()
    newfile.close()
    newnewfile=open('天龙八部-汉字统计.csv','w',encoding='utf-8-sig') #utf-8-sig解决了csv文件写入汉字乱码问题
    newnewfile.write(','.join(ls))
    newnewfile.close()

def WORDEXTRACT(filename):
    d,ls={},[]
    file=open(filename,'r',encoding='utf-8')
    newfile=open('天龙八部-词语统计.txt','w',encoding='utf-8')
    txt=file.read()
    words=jieba.lcut(txt)                   #jieba.lcut()会过滤掉标点符号只剩词汇(空格貌似未过滤掉)
    for word in words:
        d[word]=d.get(word,0)+1
    del d[' ']
    del d['\n']
    for key in d:
        ls.append(key+':'+str(d[key]))
    newfile.write(','.join(ls))
    file.close()
    newfile.close()

def MAIN():
    filename='天龙八部-网络版.txt'
    LETTEREXTRACT(filename)
    WORDEXTRACT(filename)
MAIN()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值