Python学习第四课(模块化程序,代码更直观)
阶段性成果打包,是一种思路
结合一下前两节课的内容,我们得到了
- 一个能够爬取指定期数开奖信息的程序
- 一个能够生成当前期数的程序
今天我们想把它们打包,那就要补充一点点基础知识。
基础知识
- 方法/函数/模块
def 方法名():
return()
这个是Python用来把一些代码块打包起来,并且重复利用的方式。
其中:
def定义了方法,括号里(传递参数)。
return返回方法计算的结果
具体示例:
def 定义方法名(传入参数1, 传入参数2, ……):
return(返回结果)
- 异常处理
try:
语句
except Exception:
出现错误,要做的事情
finally:
程序结束,要做的事情
异常处理语句一般能够在程序出错的时候,保障程序继续运行。
Try:在这里的语句,是无论如何都会运行的。
except:在这里的语句,只有Try里的语句出错时才会运行。
finally:在这里的语句,只有程序运行完毕才会运行(出错也不会运行哦)。
第一课,打包
准备工作
首先,还是要导入需要的库:
from urllib import request
from urllib import parse
from datetime import datetime
打包
我们拿出上一课的双色球期数生成器,给他装进一个方法里,就叫做得到数字(期数)吧,这个方法我们叫它:期数生成器。
def getNum():
time = datetime.now().isocalendar()
day = datetime.today()
if int(time[2]) == 1:
num = int(time[1]-1)*3
elif int(time[2]) == 2:
num = int(time[1]-1)*3
if day.hour >= 22 :
num += 1
elif int(time[2]) == 3:
num = int(time[1])*3-2
elif int(time[2]) == 4:
num = int(time[1])*3-2
if day.hour >= 22 :
num += 1
elif int(time[2]) == 5