二级备赛系列博文

  • 【计算机二级Python】客观题(总结版)
  • 【计算机二级Python】主观题(总结版)
  • 【计算机二级Python】易忘知识点总结
  • 【计算机二级Python】阶段性总结版

ch7、文件

文件类型分类

  • 文本文件,单一特定编码,例如UTF-8编码
  • 二进制文件,按照非字符但特定格式形成的文件,例如png图片文件和avi视频文件
  • 二进制文件和文本文件的最主要区别是否有统一的字符编码

文件打开方式

  • t表示文本文件方式打开,文件经过编码形式字符串,打印出有含义的字符
  • b表示二进制文件方式打开,文件被解析为字节流

文件的读操作

  • readreadlines都是一次性读入文件的函数
  • f.read()是最常用的一次性读入文件的函数,其结果是一个字符串
  • f.readlines()也是一次性读入文件的函数,其结果是一个列表,每个元素是文件的一行。
  • 对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的新位置开始。若想再从头开始需要用f.seek函数重置指针位置
  • 文本文件可以看成是由行组成的组合类型,因此,可以使用遍历循环逐行遍历文件。

文件的写操作

  • f.write向文件写入一个字符串,f.write(s)时,要显式的使用’\n’对写入文本进分行,如果不进行分行,每次写入的字符串会被连接起来
  • f.writelines将一个元素为字符串的列表写入文件,直接将列表类型的各元素连
    接起来写入文件f

数据组织的维度

  • 一维数据采用线性方式组织,采用列表形式表示

    • 存储采用CSV格式(逗号分隔,形成一行)
  • 二维数据采用二维表格方式组织
  • 高位数据采用对象方式组织

字符串常用方法

  • str.join(iter)是将iter变量的每一个元素后增加一个str字符串。
  • str.split(sep) 能够根据sep分隔字符串str,分割后的内容以列表类型返回。
def parseCSV(filename):dataNames, data = [], []f = open(filename, "r", encoding = 'utf-8')for line in f:splitedLine = line.strip().split(',')if '指标' in splitedLine[0]:years = list(int(x[:-1]) for x in splitedLine[1:])else:dataNames.append("{:10}".format(splitedLine[0]))data.append([float(x) for x in splitedLine[1:]])#最外层少加一个[]f.close()return years, dataNames, data def means(data):return sum(data) / len(data)def linearRegression(xlist, ylist):xmeans, ymeans = means(xlist), means(ylist)bNumerator = - len(xlist) * xmeans * ymeansbDenominator = -len(xlist) * xmeans ** 2for x, y in zip(xlist, ylist):bNumerator += x * ybDenominator += x ** 2b = bNumerator / bDenominatora = ymeans - b * xmeansreturn a, bdef calNewData(newyears, a, b):return [(a+b*x) for x in newyears]def showResults(years, dataNames, newDatas):print("{:^60}".format("国家财政收支线性估计"))header = '指标       'for year in years:header += "{:10}".format(year)print(header)for name, lineData in zip(dataNames, newDatas):line = name #这里为什么要重新再赋值呢?for data in lineData:line += "{:>10.1f}".format(data)print(line)def main():newyears = [x+2010 for x in range(7)]newDatas = [] #错写成了newdatasyears, dataNames, datas = parseCSV("finance.csv")for data in datas:a, b = linearRegression(years, data)newDatas.append(calNewData(newyears, a, b))showResults(newyears, dataNames, newDatas)main()

ch8 程序设计

from random import *def printIntro():print("这个程序模拟两个选手A和B的某种竞技比赛")print("程序运行需要A和B的能力值(以0~1之间的小数表示)")def getInputs():a = eval(input("请输入选手A的能力值(0~1): "))b = eval(input("请输入选手B的能力值(0~1): "))n = eval(input("模拟比赛的场次: "))return a, b, ndef gameOver(a, b):return a==15 or b==15def simOneGame(proA, proB):scoreA, scoreB = 0, 0serving = "A"while not gameOver(scoreA, scoreB):if serving == "A":if(random() < proA):scoreA += 1else:serving = "B"else:if(random() < proB):scoreB += 1else:serving = "A"return scoreA, scoreBdef simNGames(n, proA, proB):winsA, winsB = 0, 0for i in range(n):scoreA, scoreB = simOneGame(proA, proB)if (scoreA > scoreB):#冒号别忘了winsA += 1else:winsB += 1return winsA, winsBdef printSummary(winsA, winsB):n = winsA + winsBprint("竞技分析开始,共模拟{}场比赛".format(n))print("选手A获胜{}场比赛,占比{:.1%}".format(winsA, winsA/n))print("选手B获胜{}场比赛,占比{:.1%}".format(winsB, winsB/n))def main():printIntro()proA, proB, n = getInputs()winsA, winsB = simNGames(n, proA, proB)printSummary(winsA, winsB)
main()

提取WEB上的链接

def getHTMLlines(htmlpath):f = open(htmlpath, "r", encoding='utf-8')ls = f.readlines()f.close()return lsdef extractImageUrls(htmllist):urls = []for line in htmllist:if 'img' in line:url = line.split('src=')[-1].split('"')[1]if 'http' in url:urls.append(url)return urls
def showResults(urls):count = 0for url in urls:print('第{:2}和URL:{}'.format(count, url))count += 1def saveResults(filepath, urls):f = open(filepath, "w")for url in urls:f.write(url+"\n")f.close()def main():inputfile = 'nationalgeographic.html'outputfile = 'nationalgeographic-urls.txt'htmlLines = getHTMLlines(inputfile)imageUrls = extractImageUrls(htmlLines)showResults(imageUrls)saveResults(outputfile, imageUrls)main()

【计算机二级Python】阶段性总结版相关推荐

  1. 【计算机二级Python】主观题(总结版)

    二级备赛系列博文 [计算机二级Python]客观题(总结版) [计算机二级Python]主观题(总结版) [计算机二级Python]易忘知识点总结 [计算机二级Python]阶段性总结版 一.小知识什 ...

  2. python考证书-计算机二级 Python 怎么考?考什么?

    2020.09.26更新:今天的二级python最后一个大题考试内容(部分),没考试的同学大家还可以最后挣扎一下. /> ==================================== ...

  3. python计算机二级含金量-计算机二级 Python 怎么考?考什么?

    2020.09.26更新:今天的二级python最后一个大题考试内容(部分),没考试的同学大家还可以最后挣扎一下. /> ==================================== ...

  4. 【计算机二级Python】考试攻略及资料汇总

    目录 1 考试大纲 2 学习教材推荐 3 学习网站推荐 3.1 编程零基础网课 3.2 有编程基础网课 4 模拟和真题试卷资料 5 相关链接 1 考试大纲 2018版python考试题纲PDF 2 学 ...

  5. 计算机二级python考试题型和分值

    计算机二级python 一. 题型及分值分布1.      单选题共40道,1到10题为公共基础知识,11到40题是python相关的知识,比如数据结构与算法.python基础知识. 每道题1分,共4 ...

  6. 计算机二级python基础知识总结-计算机二级python 知识点篇(程序的控制结构)...

    计算机二级python 知识点篇(程序的控制结构) 程序的基本结构 程序由三种基本结构组成: 顺序结构. 分支结构和循环结构 分支结构 单分支结构 if and 表示多个条件"与" ...

  7. 计算机二级python用什么书-如何准备全国计算机二级Python?

    如果你也和我一样是零基础学习,希望你过! 以下是我的回答提纲 /> 一.参考过的知乎回答这是我找到的最全面的备考攻略,第一推荐!!考完发现他还有更新!!曹操:计算机二级 Python 怎么考?考 ...

  8. 计算机二级python用什么书-计算机二级python考什么?

    计算机二级python考的内容有:1.Python语言基本语法元素:2.基本数据类型:3.程序的控制结构:4.函数和代码复用:5.组合数据类型:6.文件和数据格式化:7.Python计算生态等等. 计 ...

  9. 未来教育python视频百度云-2019年计算机二级Python语言程序设计考试大纲

    2019年计算机二级Python语言程序设计考试大纲 浏览次数: 时间:2019/03/14 从各省教育考试院公布的2019年计算机等级考试报名通知中可知2019年计算机等级考试所有大纲均为2018年 ...

最新文章

  1. java.lang.ClasNotFoundException:Didnt findclass on path:DexPathList[[zip file
  2. Sublime Text 3 python 配置
  3. python小游戏代码大全-Python小游戏之300行代码实现俄罗斯方块
  4. ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
  5. js内存泄露 垃圾回收_Java内存体系结构(模型),垃圾回收和内存泄漏
  6. mysql 利用触发器(Trigger)让代码更简单
  7. 在Kubernetes上部署和管理PostgreSQL
  8. python 字符编码、格式化
  9. 30款油漆纹理Photoshop笔刷
  10. mschart走势图 vc_[VC] 解决MSChart闪烁的问题
  11. 从源码入手,一文带你读懂Spring AOP面向切面编程
  12. python源码提取_从PyInstaller打包生成的EXE文件中提取Python源码
  13. 《浪潮之巅》读书笔记
  14. CSDN 博客专家申请入口
  15. 软件测试行业到底有没有前景和出路?(最全面)
  16. 【MIPS汇编编程练习Lab5】汇编中的条件语句 大于小于比较 if-else statement slt
  17. PAT 1044 火星数字
  18. 有一个已经排好序的数组,今输入一个数,要求按照原来排序的规律将它插入数组中
  19. 关键词挖掘的方法和技巧
  20. 用java在画布中绘制六个随机英文字母

热门文章

  1. elasticsearch对单字段多条件查询
  2. unity3d 的octane渲染器发布啦
  3. 一个GBASE南大通用新员工的真实感受:请问这是什么神仙公司?
  4. Django学习之旅(六)自定义URL规则(博客详情页)
  5. Boostrap基础排版
  6. 勇敢者的游戏——VC
  7. Java基础学习总结(125)——org.apache.commons.lang3.StringUtils类方法详解
  8. 家用洗地机哪种好?怎么选购家用洗地机
  9. js移除数组中指定的元素
  10. 广州本田整车订单系统