摘要:神一样的题目。简言之,利用手段获得测试用例的第一行,输出结果。很显然利用wa, TLE, OLE等judge status可以获得测试用例。因此,果断Python写一个acm提交机器人。依赖lxml库。测试用例是The Ascii of H. 1 #!/usr/env python 2 3 ...
阅读全文
摘要:单纯的为DOM树添加结点。 1 #!/usr/bin/env python 2 # Generating XML with DOM - Chapter 8 - domgensample.py 3 4 from xml.dom import minidom, Node 5 6 doc = mini...
阅读全文
摘要:两级目录,可扩展为N级。 1 # Count the line of dir or file 2 3 import os, fnmatch, fileinput 4 5 def ChkFileType(lst): 6 tmp = lst 7 FileType = ['asm', 'c', 'cpp', 'h', 'ucf', 'v', 'java', 'm'] 8 for filename in tmp: 9 flg = 110 for types in FileTy
阅读全文
摘要:使用Python模拟二叉树的基本操作,感觉写起来很别扭。最近做编译的优化,觉得拓扑排序这种东西比较强多。近期刷ACM,发现STL不会用实在太伤了。决定花点儿时间学习一下STL。Boost其实也很强大。关于Python最近没什么时间搞了,忙着复试了。不过,挺喜欢这语言的。复试完继续大战PythonChallenge。 1 #! /usr/bin/env python 2 # DataStrucure Tree 3 4 import sys 5 6 class BTNode: 7 8 def __init__(self, data, lchild=None, ...
阅读全文
摘要:通常情况下,socket上的I/O会阻塞。即除非操作结束,否则程序不会照常进行。而以下集中情况需要在非阻塞模式下进行:1. 网络接口在等待数据时是活动的,可以做出相应;2. 在不使用线程或进程的情况下也可以同时处理多个网络相关任务;3. 在网络上等待的时候可以执行其它计算在以上情况中,可以使用两个标准工具解决,poll和select。它们都可以通知操作系统哪个socket对程序感兴趣,当该socket上有事件发生时,操作系统才调用处理程序。服务器程序每隔5秒向连接对象发送系统当前时间,如下:#! /usr/bin/env python# Delaying Server - Chapter 5
阅读全文
摘要:本实例通过命令行取得主机和端口的信息,使用SOCK_STREAM请求一个TCP socket。使用AF_INET或AF_INET6指定协议,但本实例并不指定协议,而是通过查询匹配得出适用的协议。 1 #! /usr/bin/env python 2 # Connect Example with IPv4 Awarness - Chapter 5 - ipv4connect.py 3 4 import socket, sys 5 6 def getaddrinfo_pref(host, port, socktype, familypreference = socket.AF_INET): 7..
阅读全文
摘要:针对DNS查询records,通过NS、PTR、CNAME和MX类别不同,返回数据将包含另外主机名。为了解最终的IP地址,通过将返回信息分解。继续使用PyDNS获取详细信息。#! /usr/bin/env python# DNS query program - Example 4 - DNSquery.pyimport sys, DNS, re, DNSanydef getreverse(query): """ Given the query, returns an approciate reverse lookup string under IN-ADDR.AR
阅读全文
摘要:使用Python实现直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序、归并排序、基数排序。#! /usr/bin/env python# DataStructure Sort# InsertSortdef InsertSort(lst, end=None, beg=0, space=1): if end is None: end = len(lst) for i in range(beg, end, space): tmp = lst[i] j = i-space while j>=beg and tmp 3->1 ...
阅读全文
摘要:如果PyDNS库,跳过本地名称服务器,直接向权威名称服务器查询。如baidu.com查询.com域名服务器,并从各个域名服务器中查询下一即域名,并输出相关信息。#! /usr/bin/env python# Expanded DNS library example - Chapter 4 - DNSany.pyimport sys, DNSdef hierquery(qstring, qtype): """Given a query type qtype, returns answers of that type for lookup qstring. If no
阅读全文
摘要:用Python模拟栈和队列主要是利用List,当然也可以使用collection的deque。以下内容为栈:#! /usr/bin/env python# DataStructure Stackclass Stack: def __init__(self, data=None): if data is not None: self.stk = [data] self.top = 0 else: self.stk = [] self.top = -1 def _...
阅读全文
摘要:最近一直在学习Python和Perl这两门语言,两者共同点很多,也有不多。希望通过这样的模拟练习可以让自己更熟悉语言,虽然很多时候觉得这样用Python或者Perl并没有体现这两者的真正价值。#! /usr/bin/env python# DataStructure Linkedlistclass Node: """ Member Variable: 1. next 2. data """ def __init__(self, data): self.data = data self.next = None ...
阅读全文
摘要:如题,是一个链表,N多数据,其中还有其它操作,比较麻烦,也是刚学python网络编程。对于Perl的RE很熟悉,还没有学python的,还是啃手册吧。其中在读出16044时,并没有找到匹配项,如下图所示:意思是除2,因此将8022作为参数,继续跑。又跑了段时间,跑到82682时,内容如下:There maybe misleading numbers in the text. One example is 82683. Look only for the next nothing and the next nothing is 63579。真是万恶啊。最开始没理解,以为是跑错了,才发现原来前面的
阅读全文
摘要:题目主要找发声类似于Peak Hell的Python模块,查了一下手册pickle已经是最像的了。看了一下源代码,发现panner.p。如同发现了新大陆,拷贝内容。使用pickle解答。答案为channel。程序如下:import picklefilein = open("E:\\Python\\data", "rb")lst = pickle.load(filein)print(type(lst)) # Find It is a list, You'd better saw the content first.string = "&q
阅读全文
摘要:题目为正则表达式,需要注意EXACTLY的含义,即AAAAxBBB中x不满足条件,但aAAAxBBBa却满足条件。使用perl解决此题,利用s///替换字母,循环读取整个源码文件,结果为linkedlist。解答完毕,Perl程序如下:#!perl -wuse 5.010;############## Level 3 ############### data store the sourcepage informationopen FILEIN, "data" or die "Can't open the data."; my $word = &
阅读全文