Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f6281b2

Browse files
committed
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit. # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unst new file: datastruct/binarysearch.py new file: datastruct/btree.py new file: datastruct/graph.py new file: datastruct/queue.py new file: datastruct/sort.py new file: datastruct/stack.py new file: primer/10/card.py new file: primer/10/myexc.py new file: primer/11/Gui.py new file: primer/11/deco.py new file: primer/11/easyMath.py new file: primer/11/grabWeb.py new file: primer/11/numconv.py new file: primer/11/odd.py new file: primer/11/testit.py new file: primer/12/hot.py new file: primer/13/NumStr.py new file: primer/13/Rand.py new file: primer/13/file.py new file: primer/13/meta.py new file: primer/13/roundFloat.py new file: primer/13/time.py new file: primer/13/time60.py new file: primer/16/sockCli.py new file: primer/16/sockServ.py new file: primer/16/tcpclient.py new file: primer/16/tcpserver.py new file: primer/16/udpCli.py new file: primer/16/udpSer.py new file: primer/18/sleep.py new file: primer/18/threading.py new file: primer/19/label.py new file: primer/2/2_10.py new file: primer/2/2_11.py new file: primer/2/2_2.py new file: primer/2/2_7.py new file: primer/2/2_8.py new file: primer/20/Cralwer.py new file: primer/3/makeFile.py new file: primer/3/makeTextFile.py new file: primer/3/readTextFile.py new file: primer/4/display.py new file: primer/6/idcheck.py new file: primer/6/queue.py new file: primer/6/stack.py new file: primer/6/unicode.txt new file: primer/6/unicodeFile.py new file: primer/7/userpw.py new file: primer/9/ospathex.py new file: unp/1/download.py new file: unp/1/gopherclient.py new file: unp/1/gopherclient2.py new file: unp/1/gopherclient3.py new file: unp/1/server.py new file: unp/2/connect.py new file: unp/2/connect1.py new file: unp/2/connect3.py new file: unp/2/socketerrors.py new file: unp/2/udp.py new file: unp/3/basicserver.py new file: unp/3/echoclient.py new file: unp/3/echoserver.py new file: unp/3/socketop.py new file: unp/3/syslogsample.py new file: unp/3/udpechoserver.py new file: unp/3/xinetdserver.py new file: unp/4/dns.py new file: unp/4/dns.pyc new file: unp/4/environment.py new file: unp/4/getaddrinfo.py new file: unp/4/gethostbyaddr.py new file: unp/5/bcastclinet.py new file: unp/5/bcastserver.py new file: unp/5/delayserver.py new file: unp/5/nbo.py new file: unp/5/pollclient.py new file: unp/5/selectclient.py new file: unp/5/timeoutserver.py new file: unp/6/dump_info.py new file: unp/6/dump_page.py Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: blog/xxg1413.github.com/.gitignore deleted: blog/xxg1413.github.com/404.html deleted: blog/xxg1413.github.com/README.md deleted: blog/xxg1413.github.com/_config.yml deleted: blog/xxg1413.github.com/_layouts/default.html deleted: blog/xxg1413.github.com/_layouts/page.html deleted: blog/xxg1413.github.com/_layouts/post.html deleted: blog/xxg1413.github.com/_posts/blog/2011-12-18-why-blog.md deleted: blog/xxg1413.github.com/_posts/blog/2012-02-22-github-pages.md deleted: blog/xxg1413.github.com/_posts/blog/existentialism.md deleted: blog/xxg1413.github.com/_posts/blog/template.md deleted: blog/xxg1413.github.com/_posts/project/template.md deleted: blog/xxg1413.github.com/_posts/wiki/template.md deleted: blog/xxg1413.github.com/about.md deleted: blog/xxg1413.github.com/atom.xml deleted: blog/xxg1413.github.com/blog.md deleted: blog/xxg1413.github.com/css/default.css deleted: blog/xxg1413.github.com/favicon.ico deleted: blog/xxg1413.github.com/google0bd953d19d6551fe.html deleted: blog/xxg1413.github.com/images/about.png deleted: blog/xxg1413.github.com/images/blog.png deleted: blog/xxg1413.github.com/images/external_link.gif deleted: blog/xxg1413.github.com/images/external_link_on.gif deleted: blog/xxg1413.github.com/images/githubpages/bootcamp_1_ssh.jpg deleted: blog/xxg1413.github.com/images/githubpages/bootcamp_1_token.jpg deleted: blog/xxg1413.github.com/images/githubpages/bootcamp_1_win_gitbash.jpg deleted: blog/xxg1413.github.com/images/githubpages/disqus-site.jpg deleted: blog/xxg1413.github.com/images/githubpages/github-account-setting.png deleted: blog/xxg1413.github.com/images/githubpages/other-pages.png deleted: blog/xxg1413.github.com/images/githubpages/ssh-key-set.png deleted: blog/xxg1413.github.com/images/githubpages/user-pages.png deleted: blog/xxg1413.github.com/images/guitarmaterial/KOA.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/brazilian-rosewood.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/cate.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/joesatriani.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/koaguitars.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/leeguitar.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/mahogany.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/mixedpiece.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/mystring.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/onepiece.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/zengyike214.jpg deleted: blog/xxg1413.github.com/images/guitarmaterial/zhangzhenyue315.jpg deleted: blog/xxg1413.github.com/images/head-bg.png deleted: blog/xxg1413.github.com/images/icons.gif deleted: blog/xxg1413.github.com/images/index.png deleted: blog/xxg1413.github.com/images/overapi/icon-small.png deleted: blog/xxg1413.github.com/images/overapi/overapi.jpg deleted: blog/xxg1413.github.com/images/project.png deleted: blog/xxg1413.github.com/images/rainingchrome/RainingChrome.crx deleted: blog/xxg1413.github.com/images/rainingchrome/RainingChrome.pem deleted: blog/xxg1413.github.com/images/rainingchrome/rain.jpg deleted: blog/xxg1413.github.com/images/rainingchrome/update.xml deleted: blog/xxg1413.github.com/images/rss.png deleted: blog/xxg1413.github.com/images/wiki.png deleted: blog/xxg1413.github.com/index.html deleted: blog/xxg1413.github.com/js/jquery-1.7.1.min.js deleted: blog/xxg1413.github.com/js/prettify/lang-apollo.js deleted: blog/xxg1413.github.com/js/prettify/lang-clj.js deleted: blog/xxg1413.github.com/js/prettify/lang-css.js deleted: blog/xxg1413.github.com/js/prettify/lang-go.js deleted: blog/xxg1413.github.com/js/prettify/lang-hs.js deleted: blog/xxg1413.github.com/js/prettify/lang-lisp.js deleted: blog/xxg1413.github.com/js/prettify/lang-lua.js deleted: blog/xxg1413.github.com/js/prettify/lang-ml.js deleted: blog/xxg1413.github.com/js/prettify/lang-n.js deleted: blog/xxg1413.github.com/js/prettify/lang-proto.js deleted: blog/xxg1413.github.com/js/prettify/lang-scala.js deleted: blog/xxg1413.github.com/js/prettify/lang-sql.js deleted: blog/xxg1413.github.com/js/prettify/lang-tex.js deleted: blog/xxg1413.github.com/js/prettify/lang-vb.js deleted: blog/xxg1413.github.com/js/prettify/lang-vhdl.js deleted: blog/xxg1413.github.com/js/prettify/lang-wiki.js deleted: blog/xxg1413.github.com/js/prettify/lang-xq.js deleted: blog/xxg1413.github.com/js/prettify/lang-yaml.js deleted: blog/xxg1413.github.com/js/prettify/prettify.css deleted: blog/xxg1413.github.com/js/prettify/prettify.js deleted: blog/xxg1413.github.com/project.md deleted: blog/xxg1413.github.com/wiki.md deleted: python/datastruct/binarysearch.py deleted: python/datastruct/btree.py deleted: python/datastruct/graph.py deleted: python/datastruct/queue.py deleted: python/datastruct/sort.py deleted: python/datastruct/stack.py deleted: python/primer/10/card.py deleted: python/primer/10/myexc.py deleted: python/primer/11/Gui.py deleted: python/primer/11/deco.py deleted: python/primer/11/easyMath.py deleted: python/primer/11/grabWeb.py deleted: python/primer/11/numconv.py deleted: python/primer/11/odd.py deleted: python/primer/11/testit.py deleted: python/primer/12/hot.py deleted: python/primer/13/NumStr.py deleted: python/primer/13/Rand.py deleted: python/primer/13/file.py deleted: python/primer/13/meta.py deleted: python/primer/13/roundFloat.py deleted: python/primer/13/time.py deleted: python/primer/13/time60.py deleted: python/primer/16/sockCli.py deleted: python/primer/16/sockServ.py deleted: python/primer/16/tcpclient.py deleted: python/primer/16/tcpserver.py deleted: python/primer/16/udpCli.py deleted: python/primer/16/udpSer.py deleted: python/primer/18/sleep.py deleted: python/primer/18/threading.py deleted: python/primer/19/label.py deleted: python/primer/2/2_10.py deleted: python/primer/2/2_11.py deleted: python/primer/2/2_2.py deleted: python/primer/2/2_7.py deleted: python/primer/2/2_8.py deleted: python/primer/20/Cralwer.py deleted: python/primer/3/makeFile.py deleted: python/primer/3/makeTextFile.py deleted: python/primer/3/readTextFile.py deleted: python/primer/4/display.py deleted: python/primer/6/idcheck.py deleted: python/primer/6/queue.py deleted: python/primer/6/stack.py deleted: python/primer/6/unicode.txt deleted: python/primer/6/unicodeFile.py deleted: python/primer/7/userpw.py deleted: python/primer/9/ospathex.py deleted: python/unp/1/download.py deleted: python/unp/1/gopherclient.py deleted: python/unp/1/gopherclient2.py deleted: python/unp/1/gopherclient3.py deleted: python/unp/1/server.py deleted: python/unp/2/connect.py deleted: python/unp/2/connect1.py deleted: python/unp/2/connect3.py deleted: python/unp/2/socketerrors.py deleted: python/unp/2/udp.py deleted: python/unp/3/basicserver.py deleted: python/unp/3/echoclient.py deleted: python/unp/3/echoserver.py deleted: python/unp/3/socketop.py deleted: python/unp/3/syslogsample.py deleted: python/unp/3/udpechoserver.py deleted: python/unp/3/xinetdserver.py deleted: python/unp/4/dns.py deleted: python/unp/4/dns.pyc deleted: python/unp/4/environment.py deleted: python/unp/4/getaddrinfo.py deleted: python/unp/4/gethostbyaddr.py deleted: python/unp/5/bcastclinet.py deleted: python/unp/5/bcastserver.py deleted: python/unp/5/delayserver.py deleted: python/unp/5/nbo.py deleted: python/unp/5/pollclient.py deleted: python/unp/5/selectclient.py deleted: python/unp/5/timeoutserver.py deleted: python/unp/6/dump_info.py deleted: python/unp/6/dump_page.py deleted: xxg1413.github.com/.gitignore deleted: xxg1413.github.com/404.html deleted: xxg1413.github.com/README.md deleted: xxg1413.github.com/_config.yml deleted: xxg1413.github.com/_layouts/default.html deleted: xxg1413.github.com/_layouts/page.html deleted: xxg1413.github.com/_layouts/post.html deleted: xxg1413.github.com/_posts/blog/2011-12-18-why-blog.md deleted: xxg1413.github.com/_posts/blog/2012-02-22-github-pages.md deleted: xxg1413.github.com/_posts/blog/2012-03-26-buy-guitar.md deleted: xxg1413.github.com/_posts/blog/existentialism.md deleted: xxg1413.github.com/_posts/blog/template.md deleted: xxg1413.github.com/_posts/project/2012-04-18-raining-in-chrome.md deleted: xxg1413.github.com/_posts/project/2012-09-22-overapi-cheatsheet.md deleted: xxg1413.github.com/_posts/project/template.md deleted: xxg1413.github.com/_posts/wiki/template.md deleted: xxg1413.github.com/about.md deleted: xxg1413.github.com/atom.xml deleted: xxg1413.github.com/blog.md deleted: xxg1413.github.com/css/default.css deleted: xxg1413.github.com/favicon.ico deleted: xxg1413.github.com/google0bd953d19d6551fe.html deleted: xxg1413.github.com/images/about.png deleted: xxg1413.github.com/images/blog.png deleted: xxg1413.github.com/images/external_link.gif deleted: xxg1413.github.com/images/external_link_on.gif deleted: xxg1413.github.com/images/githubpages/bootcamp_1_ssh.jpg deleted: xxg1413.github.com/images/githubpages/bootcamp_1_token.jpg deleted: xxg1413.github.com/images/githubpages/bootcamp_1_win_gitbash.jpg deleted: xxg1413.github.com/images/githubpages/disqus-site.jpg deleted: xxg1413.github.com/images/githubpages/github-account-setting.png deleted: xxg1413.github.com/images/githubpages/other-pages.png deleted: xxg1413.github.com/images/githubpages/ssh-key-set.png deleted: xxg1413.github.com/images/githubpages/user-pages.png deleted: xxg1413.github.com/images/guitarmaterial/KOA.jpg deleted: xxg1413.github.com/images/guitarmaterial/brazilian-rosewood.jpg deleted: xxg1413.github.com/images/guitarmaterial/cate.jpg deleted: xxg1413.github.com/images/guitarmaterial/joesatriani.jpg deleted: xxg1413.github.com/images/guitarmaterial/koaguitars.jpg deleted: xxg1413.github.com/images/guitarmaterial/leeguitar.jpg deleted: xxg1413.github.com/images/guitarmaterial/mahogany.jpg deleted: xxg1413.github.com/images/guitarmaterial/mixedpiece.jpg deleted: xxg1413.github.com/images/guitarmaterial/mystring.jpg deleted: xxg1413.github.com/images/guitarmaterial/onepiece.jpg deleted: xxg1413.github.com/images/guitarmaterial/zengyike214.jpg deleted: xxg1413.github.com/images/guitarmaterial/zhangzhenyue315.jpg deleted: xxg1413.github.com/images/head-bg.png deleted: xxg1413.github.com/images/icons.gif deleted: xxg1413.github.com/images/index.png deleted: xxg1413.github.com/images/overapi/icon-small.png deleted: xxg1413.github.com/images/overapi/overapi.jpg deleted: xxg1413.github.com/images/project.png deleted: xxg1413.github.com/images/rainingchrome/RainingChrome.crx deleted: xxg1413.github.com/images/rainingchrome/RainingChrome.pem deleted: xxg1413.github.com/images/rainingchrome/rain.jpg deleted: xxg1413.github.com/images/rainingchrome/update.xml deleted: xxg1413.github.com/images/rss.png deleted: xxg1413.github.com/images/wiki.png deleted: xxg1413.github.com/index.html deleted: xxg1413.github.com/js/jquery-1.7.1.min.js deleted: xxg1413.github.com/js/prettify/lang-apollo.js deleted: xxg1413.github.com/js/prettify/lang-clj.js deleted: xxg1413.github.com/js/prettify/lang-css.js deleted: xxg1413.github.com/js/prettify/lang-go.js deleted: xxg1413.github.com/js/prettify/lang-hs.js deleted: xxg1413.github.com/js/prettify/lang-lisp.js deleted: xxg1413.github.com/js/prettify/lang-lua.js deleted: xxg1413.github.com/js/prettify/lang-ml.js deleted: xxg1413.github.com/js/prettify/lang-n.js deleted: xxg1413.github.com/js/prettify/lang-proto.js deleted: xxg1413.github.com/js/prettify/lang-scala.js deleted: xxg1413.github.com/js/prettify/lang-sql.js deleted: xxg1413.github.com/js/prettify/lang-tex.js deleted: xxg1413.github.com/js/prettify/lang-vb.js deleted: xxg1413.github.com/js/prettify/lang-vhdl.js deleted: xxg1413.github.com/js/prettify/lang-wiki.js deleted: xxg1413.github.com/js/prettify/lang-xq.js deleted: xxg1413.github.com/js/prettify/lang-yaml.js deleted: xxg1413.github.com/js/prettify/prettify.css deleted: xxg1413.github.com/js/prettify/prettify.js deleted: xxg1413.github.com/project.md deleted: xxg1413.github.com/wiki.md
1 parent ec95c56 commit f6281b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2143
-0
lines changed

datastruct/binarysearch.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
def BinarySearch(l,key):
2+
low=0
3+
high=len(l)-1
4+
i=0
5+
while(low <= high):
6+
i = i+1
7+
mid = low + ((high-low)>>1)
8+
if(l[mid] < key):
9+
low = mid + 1
10+
elif (l[mid] > key):
11+
high = mid -1
12+
else:
13+
print "use %d times" % i
14+
return mid
15+
return -1
16+
17+
if __name__ == "__main__":
18+
l=[1,4,5,6,7,8,9,44,333,2233]
19+
print l
20+
print BinarySearch(l,4)
21+
print BinarySearch(l,44)
22+
print BinarySearch(l,8)
23+
print BinarySearch(l,2233)
24+
print BinarySearch(l,77)
25+

datastruct/btree.py

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
class BTree:
2+
def __init__(self,value):
3+
self.left=None
4+
self.data=value
5+
self.right=None
6+
7+
def insertLeft(self,value):
8+
self.left=BTree(value)
9+
return self.left
10+
11+
def insertRight(self,value):
12+
self.right=BTree(value)
13+
return self.right
14+
15+
def show(self):
16+
print self.data
17+
18+
def preorder(node):
19+
if node.data:
20+
node.show()
21+
if node.left:
22+
preorder(node.left)
23+
if node.right:
24+
preorder(node.right)
25+
26+
def inorder(node):
27+
if node.data:
28+
if node.left:
29+
inorder(node.left)
30+
node.show()
31+
if node.right:
32+
inorder(node.right)
33+
34+
def postorder(node):
35+
if node.data:
36+
if node.left:
37+
postorder(node.left)
38+
if node.right:
39+
postorder(node.right)
40+
node.show()
41+
42+
if __name__ == "__main__":
43+
44+
Root=BTree("root")
45+
A=Root.insertLeft("A")
46+
C=A.insertLeft("C")
47+
D=C.insertRight("D")
48+
F=D.insertLeft("F")
49+
G=D.insertRight("G")
50+
B=Root.insertRight("B")
51+
E=B.insertRight("E")
52+
53+
print "pre-traversal"
54+
preorder(Root)
55+
56+
print "in-traversal"
57+
inorder(Root)
58+
59+
print "post-traversal"
60+
postorder(Root)
61+
62+

datastruct/graph.py

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
def searchGraph(graph,start,end):
2+
results=[]
3+
generatePath(graph,[start],end,results)
4+
results.sort(lambda x,y:cmp(len(x),len(y)))
5+
return results
6+
7+
def generatePath(graph,path,end,results):
8+
state=path[-1]
9+
if state == end:
10+
results.append(path)
11+
else:
12+
for arc in graph[state]:
13+
if arc not in path:
14+
generatePath(graph,path+[arc],end,results)
15+
16+
17+
if __name__ == "__main__":
18+
Graph={
19+
'A':['B','C','D'],
20+
'B':['E'],
21+
'C':['D','F'],
22+
'D':['B','E','G'],
23+
'E':[],
24+
'F':['D','G'],
25+
'G':['E']
26+
}
27+
r = searchGraph(Graph,'A','D')
28+
print "A to D"
29+
for i in r:
30+
print i
31+
32+
r=searchGraph(Graph,'A','E')
33+
print "A to E"
34+
for i in r:
35+
print i

datastruct/queue.py

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
class Queue:
2+
def __init__(self,size=20):
3+
self.queue=[]
4+
self.size=size
5+
self.end=-1
6+
7+
def setSize(self,size):
8+
self.size=size
9+
10+
def In(self,element):
11+
if self.end < self.size -1:
12+
self.queue.append(element)
13+
self.end = self.end + 1
14+
else:
15+
raise "QueueFull"
16+
17+
def Out(self):
18+
if self.end != -1:
19+
element = self.queue[0]
20+
self.queue=self.queue[1:]
21+
self.end = self.end-1
22+
return element
23+
else:
24+
raise "QueueEmpty"
25+
26+
def End(self):
27+
return self.end
28+
29+
def empty(self):
30+
self.queue=[]
31+
self.end=-1
32+
33+
if __name__ == "__main__":
34+
35+
queue=Queue()
36+
for i in range(10):
37+
queue.In(i)
38+
print queue.End()
39+
40+
for i in range(10):
41+
print queue.Out()
42+
43+

datastruct/sort.py

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
class BTree:
2+
def __init__(self,value):
3+
self.left=None
4+
self.data=value
5+
self.right=None
6+
7+
def insertLeft(self,value):
8+
self.left=BTree(value)
9+
return self.left
10+
11+
def insertRight(self,value):
12+
self.right=BTree(value)
13+
return self.right
14+
15+
def show(self):
16+
print self.data
17+
18+
def inorder(node):
19+
if node.data:
20+
if node.left:
21+
inorder(node.left)
22+
node.show()
23+
if node.right:
24+
inorder(node.right)
25+
26+
27+
def rinorder(node):
28+
if node.data:
29+
if node.right:
30+
rinorder(node.right)
31+
node.show()
32+
if node.left:
33+
rinorder(node.left)
34+
35+
def insert(node,value):
36+
if value > node.data:
37+
if node.right:
38+
insert(node.right,value)
39+
else:
40+
node.insertRight(value)
41+
else:
42+
if node.left:
43+
insert(node.left,value)
44+
else:
45+
node.insertLeft(value)
46+
47+
48+
if __name__ == "__main__":
49+
50+
l=[88,11,2,33,22,4,55,33,221,34]
51+
Root=BTree(l[0])
52+
node=Root
53+
for i in range(1,len(l)):
54+
insert(Root,l[i])
55+
56+
print "1---->10"
57+
inorder(Root)
58+
print "10--->1"
59+
rinorder(Root)
60+
61+
62+
63+
64+
65+
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+

datastruct/stack.py

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
class Stack:
2+
def __init__(self,size=20):
3+
self.stack= []
4+
self.size= size;
5+
self.top= -1
6+
7+
def setSize(self,size):
8+
self.size=size;
9+
10+
def push(self,element):
11+
if self.isFull():
12+
raise "StackOverflow"
13+
else:
14+
self.stack.append(element)
15+
self.top = self.top + 1
16+
17+
def pop(self):
18+
if self.isEmpty():
19+
raise "StackUnderflow"
20+
else:
21+
element=self.stack[-1]
22+
self.top=self.top-1;
23+
del self.stack[-1]
24+
return element
25+
26+
def Top(self):
27+
return self.top
28+
29+
def empty(self):
30+
self.stack=[]
31+
self.top=-1
32+
33+
def isEmpty(self):
34+
if self.top == -1:
35+
return True
36+
else:
37+
return False
38+
39+
def isFull(self):
40+
if self.top == self.size-1:
41+
return True
42+
else:
43+
return False
44+
45+
if __name__ == "__main__":
46+
47+
stack=Stack()
48+
49+
for i in range(10):
50+
stack.push(i)
51+
print stack.Top()
52+
53+
for i in range(10):
54+
print stack.pop()
55+
56+
stack.empty()
57+
print stack.Top()
58+
59+

primer/10/card.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
def safe_float(obj):
2+
try:
3+
retval = float(obj)
4+
except (ValueError,TypeError),diag:
5+
retval = str(diag)
6+
return retval
7+
8+
def main():
9+
log = open("cardlog.txt","w")
10+
try:
11+
ccfile = open("carddata.txt","r")
12+
except IOError,e:
13+
log.write("no txns this \n")
14+
log.close()
15+
return
16+
txns = ccfile.readlines()
17+
ccfile.close()
18+
total = 0.00
19+
log.write("account log:\n")
20+
21+
for eachTxn in txns:
22+
result = safe_float(eachTxn)
23+
if isinstance(result,float):
24+
total += result
25+
log.write("data ....processed\n")
26+
else:
27+
log.write("ignored: %s" % result)
28+
print "$%.2f (new balance)" % (total)
29+
log.close()
30+
31+
if __name__ == '__main__':
32+
print "run"
33+
main()

0 commit comments

Comments
 (0)