python第一个爬虫。,,1、测试羽毛球规则程


1、测试羽毛球规则程序代码。

原代码如下:

from random import randomprint("学号尾数08")def printIntro():        print("这个程序模拟两个选手A和B的羽毛球竞技比赛")    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")def getInputs():    a = eval(input("请输入选手A的能力值(0-1): "))    b = eval(input("请输入选手B的能力值(0-1): "))    n = eval(input("模拟比赛的场次: "))    m = eval(input("模拟次数:"))    return a, b, n, mdef simNGames(n, probA, probB):    winsA, winsB = 0, 0    scoreA_ls=[]    scoreB_ls=[]    for i in range(n):        scoreA, scoreB = simOneGame(probA, probB)        scoreA_ls.append(scoreA)        scoreB_ls.append(scoreB)        if scoreA > scoreB:            winsA += 1        else:            winsB += 1    return winsA, winsB,scoreA_ls,scoreB_lsdef gameOver(a,b):    if(a>20 or b>20):        if(abs(a-b)>=2 and a<=29 and b<=29):            return True        else:            return a==30 or b==30    else:        return Falsedef simOneGame(probA, probB):    scoreA, scoreB = 0, 0    serving = "A"    while not gameOver(scoreA, scoreB):        if serving == "A":            if random() < probA:                scoreA += 1            else:                serving="B"        else:            if random() < probB:                scoreB += 1            else:                serving="A"    return scoreA, scoreBdef printSummary(winsA, winsB,m,scoreA_ls,scoreB_ls):    n = winsA + winsB    print("模型模拟次数{}".format(m))    print("竞技分析开始,共模拟{}场比赛".format(n))    print("A选手各场次得分比分:")    print(scoreA_ls)    print("B选手各场次得分比分:")    print(scoreB_ls)    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))    print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))def main():    printIntro()    probA, probB, n, m= getInputs()    for i in range(m):        winsA, winsB,scoreA_ls,scoreB_ls = simNGames(n, probA, probB)        printSummary(winsA, winsB,m,scoreA_ls,scoreB_ls)main()

  加了测试函数的代码如下:

from random import randomprint("学号尾数08")def printIntro():        print("这个程序模拟两个选手A和B的羽毛球竞技比赛")    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")try:    printIntro(x)except:    print(‘printIntro error‘)def getInputs():    a = eval(input("请输入选手A的能力值(0-1): "))    b = eval(input("请输入选手B的能力值(0-1): "))    n = eval(input("模拟比赛的场次: "))    m = eval(input("模拟次数:"))    return a, b, n, mtry:    getInputs(x)except:    print(‘getInputs error‘)def simNGames(n, probA, probB):    winsA, winsB = 0, 0    scoreA_ls=[]    scoreB_ls=[]    for i in range(n):        scoreA, scoreB = simOneGame(probA, probB)        scoreA_ls.append(scoreA)        scoreB_ls.append(scoreB)        if scoreA > scoreB:            winsA += 1        else:            winsB += 1    return winsA, winsB,scoreA_ls,scoreB_lstry:    simNGames(1000,0.1)except:    print(‘simNgame error‘)def gameOver(a,b):    if(a>20 or b>20):        if(abs(a-b)>=2 and a<=29 and b<=29):            return True        else:            return a==30 or b==30    else:        return Falsetry:    gameover(1,20)except:    print(‘gameOver error‘)def simOneGame(probA, probB):    scoreA, scoreB = 0, 0    serving = "A"    while not gameOver(scoreA, scoreB):        if serving == "A":            if random() < probA:                scoreA += 1            else:                serving="B"        else:            if random() < probB:                scoreB += 1            else:                serving="A"    return scoreA, scoreBtry:    simOneGame(0.1)except:    print(‘SimOneGame error‘)def printSummary(winsA, winsB,m,scoreA_ls,scoreB_ls):    n = winsA + winsB    print("模型模拟次数{}".format(m))    print("竞技分析开始,共模拟{}场比赛".format(n))    print("A选手各场次得分比分:")    print(scoreA_ls)    print("B选手各场次得分比分:")    print(scoreB_ls)    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))    print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))try:    printSummary(500)except:    (‘printSummary error‘)def main():    printIntro()    probA, probB, n, m= getInputs()    for i in range(m):        winsA, winsB,scoreA_ls,scoreB_ls = simNGames(n, probA, probB)        printSummary(winsA, winsB,m,scoreA_ls,scoreB_ls)main()

  为了测试显得更有价值,所以将原代码中许多函数改成错误的。运行结果如下:

技术图片

2、python连接360主页20次:

代码如下:

# -*- coding: utf-8 -*-"""Created on Wed May 22 21:59:28 2019@author: 小米"""import requestsdef getHTMLText(url):    try:        r=requests.get(url,timeout=30)        r.raise_for_status()        r.encoding=‘utf-8‘        return r.text    except:        return "dddd"url="https://hao.360.cn/"print(getHTMLText(url))     for i in range(20):   getHTMLText(url)   print(i+1)

运行结果如下:

技术图片

技术图片

python第一个爬虫。

评论关闭