2017.07.22 Python网络爬虫之简单的Python脚本
1.九九乘法表:
# !usr/bin/env python
# -*- coding:utf-8 -*-
class PrintTable(object):
"""打印九九乘法表"""
def __init__(self):
print(u"开始打印9x9乘法表格")
self.print99()
def print99(self):
for i in xrange(1,10):
for j in xrange(1,i+1):
print('%d X %d =%2s ' %(j,i,i*j))
print('\n')
if __name__ == '__main__':
pt=PrintTable()
执行结果:
2.斐波那契数列:又称黄金分割数列(兔子数列):0,1,1,2,3,5,8,13,21,34.....
递归的方式定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
最正统的方法就是函数递归了,不过,Python而言,独有的数据类型--列表,可以使用append方法在列表的尾部追加数据
# !usr/bin/env python
# -*- coding:utf-8 -*-
class Fibonacci(object):
"""返回一个fibonacci数列"""
def __init__(self):
self.fList=[0,1]
self.main()
def main(self):
listLen=raw_input("请输入fibonacci数列的长度(3-50):")
self.checkLen(listLen)
while len(self.fList) < int(listLen):
self.fList.append(self.fList[-1]+self.fList[-2])
print('得到的fibonaccii数列为:\n %s' %self.fList)
def checkLen(self,lenth):
lenList=map(str,xrange(3,51))
if lenth in lenList:
print(u"输入的长度符合标准,继续运行")
else:
print(u"只能输入3-50,太长了不是算不出,只是没必要")
exit()
if __name__ == '__main__':
f=Fibonacci()
执行结果:
3.概率计算:随机取小球问题
# !usr/bin/env python
# -*- coding:utf-8 -*-
import random
class SelectBall(object):
def __init__(self):
self.run()
def run(self):
while True:
numStr=raw_input("输入测试的次数")
try:
num=int(numStr)
except ValueError:
print(u"要求输入一个整数")
continue
else:
break
ball=[0,0,0,0,0,0,0,0,0,0]
for i in xrange(num):
n=random.randint(1,10)
ball[n-1]+=1
for i in xrange(1,11):
print(u"获得第%d号球的概率是%f" %(i,ball[i-1]*1.0/num))
if __name__ == '__main__':
SB=SelectBall()
执行结果:
4.读写文件:读写文件是最常见的I/O操作,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)
Python内置Open函数来读写文件:
模式:7种模式可以组合使用
r:以读方式打开文件,可读取文件信息
w:以写方式打开文件,可向文件写入信息,如文件存在,则清空该文件,再写入新内容
a:以追加模式打开文件,如果文件不存在,则创建
r+:以读写方式打开文件,可对文件进行读和写的操作
w+:消除文件内容,然后以读写方式打开文件
a+:以读写方式打开文件,并把文件指针移到文件尾
b:以二进制模式打开文件,而不是文本模式
编写operaFile.py:
# !usr/bin/env python
# -*- coding:utf-8 -*-
import os
def operaFile():
print(u"创建一个名字为test.txt的文件,并在其中写入Hello python")
print(u"'先得保证test.txt不存在")
os.system('rm test.txt')
os.system('ls -l test.txt')
print(u"现在再来创建文件并写入内容\n")
fp=open('test.txt','w')
fp.write('Hello Python')
fp.close()
print(u"不要忘记用close关闭文件哦")
print(u"再来看看test.txt是否存在,和内容是什么\n")
os.system('ls -l test.txt')
os.system('cat test.txt')
print('\n')
print(u"如何避免open文件失败的文件呢?")
print(u"使用with as 就可以了")
with open('test.txt','r') as fp:
st=fp.read()
print('test.txt的内容是:%s' %st)
if __name__ == '__main__':
operaFile()
有些人之所以不断成长,就绝对是有一种坚持下去的力量。好读书,肯下功夫,不仅读,还做笔记。人要成长,必有原因,背后的努力与积累一定数倍于普通人。所以,关键还在于自己。