第6题:工资部门将每个支付周期的雇员信息的列表保存到一个文本文件, 每一行的格式:<last name><hourly wage><hours worked> 编写一个程序,让用户输出文件名并且最终向终端输出报表. 自行创建一个txt文件,如下图所示: 代码: 方法一.从txt文件中读取内容,并向excel表格文件写入 import xlwt word=[] fileName=input("请输入文件名:") f=open(fileName,'r')…
这一章主要复习了一些数学知识,像指数.对数.模运算.级数公式:还有2种证明方法,归纳假设法和反证法.所幸以前学过,重新拾捡起来也比较轻松. 简要地复习了递归,提出了编写递归例程的四条基本法则: 基准情形.必须总有些基准情形.它无需递归就能解出. 不断推进.对于那些需要递归求解的情形,每一次递归调用都必须要使求解状况朝接近基准情形的方向推进. 设计法则.假设所有的递归调用都能运行. 合成效益法则.在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作.(譬如斐波那契数列的递归使用 Fib…
第一章JavaScript的编程环境和模型 1.2JavaScript编程实践 1.2.1 声明和初始化变量 JavaScript中的变量默认为全局变量,如果初始化未被声明的变量,该变量就成了一个全局变量. javascript中使用关键字var声明初始化变量.  var 变量名:   var 变量名=初始化值: 例如: var name; var number=10; var text="Hellow World"; var bool=false; 1.2.2 Javascript中…
数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typedef int ElementType; #ifndef _List_H #define _List_H struct Node; typedef struct Node *PtrToNode; typedef PtrToNode List; typedef PtrToNode Position; Li…
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); booklist.append('htmlbook'); console.log(booklist.length()) //3 console.log(booklist.toString()) //["jsbook", "cssbook", "htmlbook&quo…
第一章 准备工作 课时0:0.数据结构(python语言) 基本概念 算法的代价及度量!!!…
一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言去编程,计算机不能直接读懂,也不能直接操控硬盘: 高级语言不能直接被计算机读懂,必须用编译器或解释器将代码翻译成二进制后才能被计算机执行. 1.编译型:把一篇编程代码直接翻译成计算机能读懂的二进制语言,然后执行.(如c语言)   编译型因整篇翻译,执行速度快,但也因是整篇翻译,一但出现错误,就需要慢…
概念性描述与<数据结构实例教程>大同小异,具体参考:http://www.cnblogs.com/bookwed/p/6763300.html. 概述 基本概念及术语 数据 信息的载体,是对客观事物的符号表示,凡能输入到计算机中并被计算机程序处理的符号都可称为数据. 数据元素 是数据的基本单位,它在计算机处理和程序设计中通常作为独立个体.数据元素一般由一个或多个数据项组成,一个数据元素包含多个数据项时,常称为记录.结点等.数据项也称为域.字段.属性.表目.顶点. 如数据库中的一行就是一个数据元…
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本对象加r2的结果 -(self, Rational r2) #求出本对象减r2的结果 *(self, Rational r2) #求出本对象乘以r2的结果 /(self, Rational r2) #求出本对象除以r2的结果 num(self) #取出本对象的分子 den(self) #取出本对象的…
ADT Date: #定义日期对象的抽象数据类型 Date(self, int year, int month, int day) #构造表示year/month/day的对象 difference(self, Date d2) #求出self和d2的日期差 plus(self, int n) #计算出日期第self之后n天的日期 num_date(self, int year, int n) #计算year年第n天的日期 adjust(self, int n) #将日期d调整n天(n为带符号整…
题目:定义一个表示时间的类Timea)Time(hours,minutes,seconds)创建一个时间对象:b)t.hours(),t.minutes(),t.seconds()分别返回时间对象t的小时,分钟和秒值c)为Time对象定义加法和减法操作(用运算符+和-)d)定义时间对象的等于和小于关系对象(用运算符==和<) #!/usr/bin/env python # -*- coding:utf-8 -*- """ 定义一个表示时间的类Time a)Time(ho…
变量和赋值语句 在同一条赋值语句中可以引入多个变量 交换变量a 和b 的值 a,b = b,a Python换行可以使用转义字符\,下一行的缩进量相同 )\ 帮助文档 help() 控制语句 条件式语句 如果只有一条语句,可以不用换行 :print('smaller') 模块测试语句 if __name__ == "__main__": main() 字符串及其运算 运算符 ] #Retruns "eat" 格式化字符串 格式 <formtt string&g…
树的概览 树是层级式的集合 树中最顶端的节点叫做根 个或多个后继(子节点). 没有子节点的节点叫做叶子节点 拥有子节点的节点叫做内部节点 ,其子节点位于层级1,依次类推.一个空树的层级为 -1 树的术语 术语概览 示列 普通的树和二叉树 二叉树中,每个节点最多只有两个子节点,分别称为左子节点和右子节点 树的递归定义 普通的树 要么为空,要么包含一个有限的节点的集合 T.有一个和所有其他节点不同的节点r,称为根.此外,集合 T - {r}可以被划分为不相边的子集.每个子集都是一个普通的树. 二叉树…
概念 列表是一个线性的集合,允许用户在任意位置插入.删除.访问和替换元素 使用列表 基于索引的操作 基本操作 数组与列表的区别 数组是一种具体的数据结构,拥有基于单个的物理内存块的一种特定的,不变的实现. 列表是一种抽象的数据类型,可以由各种方式表示,数组只是其中一种方式 基于内容的操作 基本操作 基于位置的操作 相对于游标位置执行,这个操作允许程序员在通过移动游标在列表中导航.其可通过列表迭代器来实现 列表迭代器是附加到列表的后备储存 列表迭代器游标的位置 第一项之前 相领两项之间 最后一项之…
接口 接口是软件资源用户可用的一组操作 接口中的内容是函数头和方法头,以及它们的文档 设计良好的软件系统会将接口与其实现分隔开来 多态 多态是在两个或多个类的实现中使用相同的运算符号.函数名或方法.多态函数的示例是 str 和 len.多态运算符是 + 和 ==.多态方法的示例是 add 和 isEmpty. 将接口与实现隔开的好处 降低了用户的学习难度 允许用户以即插即用的方式,快速的将资源整合起来 让用户有机会在相同资源的不同实现中做出选择 允许用户对资源的实现做出修改,而不影响用户代码 开…
数据结构是表示一个集合中包含的数据的一个对象 数组数据结构 数组是一个数据结构 支持按照位置对某一项的随机访问,且这种访问的时间是常数 在创建数组时,给定了用于存储数据的位置的一个数目,并且数组的长度保持固定 插入和删除需要移动数据元素 创建一个新的.较大的或较小的数组,可能也需要移动数据元素 支持的操作 在给定位置访问或替代数组的一个项 查看数组的长度 获取数组的字符串表示 数组操作及Arrary 类方法 用户的数组操作 Array类中的方法 a = Array(10) __init__( c…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.9 词汇表 BeautifulSoup: 一个用于分析HTML文档,并从中抓取数据的Python库.它弥补了大部分在浏览器中被忽略的HTML缺陷.你可以从www.crummy.com下载BeautifulSoup代码. port:端口.当你用套接字链接服务器,通常表示正在联系的的服务器应用程序的数字.例如,网页服务使用80端口,电子邮…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进制文件 有时你想获取一个非文本文件,或者说二进制文件,比如图像或视频.这些文件中的数据不用打印出来,但是你可以轻松地用urllib从网络获取一份拷贝到你的硬盘. 打开网络地址,读取并下载整个文档的内容至一个字符串变量(img),然后把文档内容写到本地文件的方式如下: import urllib.request…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.7 用BeautifulSoup分析HTML 有很多Python库可以帮你分析HTML和抓取数据.每个库都有它们各自的强项和弱点,你可以基于你的需求选择一个. 下面的例子,我们将使用BeautifulSoup来分析一些HTML的输入,并抓取链接信息.你可以从www.crummy.com下载和安装BeautifulSoup代码.你可以在…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.5 HTML分析和网页抓取 urllib库一项最常用的功能是抓取网页.就是我们编写一个程序,将自己伪装成网页浏览器,在获取网页之后,再以查找模式检索网页中的数据. 以搜索引擎Google为例,它将查看一个网页的源码,然后抽取其中的链接,再用这些链接获取网页.抽取链接,并一直循环.使用这个技巧,Google几乎爬遍网页上的所有页面. G…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.3 用HTTP协议获取一张图片 在上一节的例子中,我们获取的是一个有换行符的文本文件,并简单的把它显示在屏幕上.同样我们可以用一个小程序通过HTTP协议获取图片.下面这个程序运行时,不是直接在屏幕上显示数据,而是剔除头信息,然后将收到的数据合并保存为一个图片文件.具体代码如下: import socket import time my…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 本书中的许多例子关注的是读取文件并查找数据,但在互联网中还有许多不同信息源. 本章我们将伪装成浏览器用超文本传送协议(HTTP)从网站获取网页,通读并分析它. 12.1 超文本传送协议-HTTP 支撑网页运转的网络协议实际非常简单,在Python中内置了套接字(socket)模块,使得使用套接字创建网络连接并获取数据变得非常容易. 套接字最…
1-1 在windows下的安装方法在网上下载python2.7直接安装到C盘1)在系统变量中找到path. 2)编辑path值,添加你安装的python路径,C:\Python27. 3)检验python是否安装配置成功,打开cmd,输入python,如果出现以下界面,则说 明你的python安装成功了.   1-2 a.三种方法执行python 1)启动交互式解释器powershell python,每次输入一行python代码 2)运行python的脚本 3)集成开发环境图形界面(IDLE…
1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g'] for c in 'theString':#方法二,for循环 print c, 结果:t h e S t r i n g print [c for c in 'theString'] #方法三,列表推导式 结果:['t', 'h', 'e', 'S', 't', 'r',…
这一章中作者简要的介绍了python数据模型,主要是python的一些特殊方法.比如__len__, __getitem__. 并用一个纸牌的程序来讲解了这些方法 首先介绍下Tuple和nametuple的区别: Nametuple是类似于元组的数据类型.除了能够用索引来访问数据,还支持用方便的属性名来访问数据. 传统的元组访问如下.对每个元素的访问都必须通过索引来找到.这种找法很不直观 tup1=('abc','def','ghi') print tup1[1] 使用nametuple来构造:…
实现效果:执行脚本后启动Firefox浏览器后进入百度主页,输入“Selenium”后,单击搜索按钮,最后关闭浏览器的过程(默认安装了Firefox浏览器),如下图所示: 脚本内容如下: # -*- coding:UTF-8 -*- from selenium import webdriver driver=webdriver.Fire() driver.get("https://baidu.com") driver.find_element_by_id("kw")…
预备的数学知识 数据结构的概念 基本名词 算法 线性表 线性表的定义和基本操作 顺序表 顺序表增 顺序表删 顺序表查 单链表 建立单链表 单链表增 单链表删 单链表查 双链表 循环链表 静态链表 栈 栈的定义和基本操作 顺序栈 共享栈 链栈 队列 队列的定义和基本操作 顺序队 循环队列 链队 双端队列 栈和队列的应用 栈在括号匹配中的应用 栈在表达式求值中的应用 栈在递归中的应用 队列在层次遍历中的应用 数组 串 串的定义和存储结构 串赋值操作 串的模式匹配 简单的模式匹配 KMP算法 改良的K…
4-1Python objects All Python objects have three attributes:type,ID,and value. All are readonly with a possible expection of the value(which can be changed only if the object is mutable). 4-5str()and repr() repr() is a built-in function while str() wa…
这本书主要是基于Python和一个自然语言工具包(Natural Language Toolkit, NLTK)的开源库进行讲解 NLTK 介绍:NLTK是一个构建Python程序以处理人类语言数据的平台,它为50多个语料库和词汇资源(如WordNet)提供了易于使用的接口,以及一套用于分类.标记.解析和语义推理等的文本处理库. 配置:在安装Python和Anaconda之后直接 import nltk 本文是使用jupyter notebook进行编译. 函数: 搜索文本 搜索单个词出现的地方…
本文转载自abatei,数据结构学了很多次,但是只是知道硬性的概念,现在专攻C#语言,对编程语言也有了更深的认识, 买一本C#的数据结构来看看,再一次加深对数据结构的学习,真是一件让人高兴的事. 当当网可购买到,无需网上银行,可送货上门,货到付款 购买地址: http://product.dangdang.com/product.aspx?product_id=20544747 如对本书有什么意见和建议可到概述作者的博客留言 http://cgbluesky.blog.163.com/ 这是本书…