Python爬虫学习代码
【1】用一个简单的程序来显示Python的数字类型。
code:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 class ShowNumType(object): 2 def __init__(self): 3 self.showInt() 4 self.showLong() 5 self.showFloat() 6 self.showComplex() 7 8 def showInt(self): 9 print(u'#####显示整数#####') 10 print(u'十进制的整型') 11 print('%-20d,%-20d,%-20d' % (-10000,0,10000)) 12 print(u'二进制的整型') 13 print('%-20s,%-20s,%-20s' % (bin(-10000),bin(0),bin(10000))) 14 print(u'八进制的整数') 15 print('%-20s,%-20s,%-20s' % (oct(-10000),oct(0),oct(10000))) 16 print(u'十六进制的整数') 17 print('%-20s,%-20s,%-20s' % (hex(-10000),hex(0),hex(10000))) 18 19 def showLong(self): 20 print(u'#####显示长整型#####') 21 print(u'十进制的整型') 22 print('%-20Ld,%-20Ld,%-20Ld' % (-10000000000000000000,0,10000000000000000000)) 23 print(u'八进制的整型') 24 print('%-20s,%-20s,%-20s' % (oct(-10000000000000000000),oct(0),oct(10000000000000000000))) 25 print(u'十六进制的整型') 26 print('%-20s,%-20s,%-20s' % (hex(-10000000000000000000), hex(0), hex(10000000000000000000))) 27 28 def showFloat(self): 29 print(u'#####显示浮点型#####') 30 print('%-20.10f,%-20.10f,%-20.10f' % (-100.001,0,100.001)) 31 32 def showComplex(self): 33 print(u'#####显示复数型#####') 34 print(u'变量赋值复数 var = 3 + 4j') 35 var = 3 + 4j 36 print(u'var的实部是: %d\tvar的虚部是: %d' % (var.real,var.imag)) 37 38 if __name__ == "__main__": 39 showNum = ShowNumType()
res:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#####显示整数##### 十进制的整型 -10000 ,0 ,10000 二进制的整型 -0b10011100010000 ,0b0 ,0b10011100010000 八进制的整数 -0o23420 ,0o0 ,0o23420 十六进制的整数 -0x2710 ,0x0 ,0x2710 #####显示长整型##### 十进制的整型 -10000000000000000000,0 ,10000000000000000000 八进制的整型 -0o1053071060221172000000,0o0 ,0o1053071060221172000000 十六进制的整型 -0x8ac7230489e80000 ,0x0 ,0x8ac7230489e80000 #####显示浮点型##### -100.0010000000 ,0.0000000000 ,100.0010000000 #####显示复数型##### 变量赋值复数 var = 3 + 4j var的实部是: 3 var的虚部是: 4
【2】打印9X9乘法表
code:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 class PrintTable(object): 2 '''打印乘法表''' 3 def __init__(self): 4 print('开始打印乘法表') 5 self.print99() 6 7 def print99(self): 8 for i in range(1,10): 9 for j in range(1,i+1): 10 print('%dX%d=%2s' % (j,i,i*j),end=' ') 11 print("\n") 12 13 if __name__ == '__main__': 14 pt = PrintTable()
res:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1X1= 1 1X2= 2 2X2= 4 1X3= 3 2X3= 6 3X3= 9 1X4= 4 2X4= 8 3X4=12 4X4=16 1X5= 5 2X5=10 3X5=15 4X5=20 5X5=25 1X6= 6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 1X7= 7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 1X8= 8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 1X9= 9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81
【3】斐波那契数列:0、1、1、2、3、5、8、13、21、34......
F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) (n>=2, n为正整数)
code:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 class Fibonacci(object): 2 '''返回一个斐波那契数列''' 3 def __init__(self): 4 self.fList=[0,1] #设置初始列表 5 self.main() 6 7 def main(self): 8 listLen = input('请输入数列的长度(3-50):') 9 while len(self.fList) < int(listLen): 10 self.fList.append(self.fList[-1] + self.fList[-2]) 11 print('得到的数列为:\n %s' % self.fList) 12 13 if __name__ == '__main__': 14 fb = Fibonacci()
res:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
请输入数列的长度(3-50):10
得到的数列为:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
【4】概率计算:将理想状态绝对无误差的10个同样的小球从1~10编号,然后随机从中选取一个小球。如果选取的次数足够多,计算各个小球被选取出来的概率。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # -*- coding:utf-8 -*- 2 #Author: MR 3 import random 4 5 class SelectBall(object): 6 def __init__(self): 7 self.run() 8 9 def run(self): 10 while True: 11 numStr = input('输入测试的次数:') 12 13 try: 14 num = int(numStr) 15 except: 16 print('请输入一个整数') 17 continue 18 else: 19 break 20 21 ball = [0,0,0,0,0,0,0,0,0,0] 22 for i in range(num): 23 n = random.randint(1,10) 24 ball[n-1] += 1 25 for i in range(1,11): 26 print('获取的第%d号球的概率为%f' % (i, ball[i-1]*1.0/num)) 27 28 if __name__ == '__main__': 29 SB = SelectBall()
【5】用 urllib2 模块打开百度首页。