程序设计方法学及第三方库的安装和OS库

本文探讨了Python在体育竞技分析中的应用,通过模拟比赛预测胜者,同时介绍了Python第三方库的安装方法,包括Anaconda的使用及常见问题解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

title: 文件和数据格式化及wordcloud库
date: 2020-02-28 09:21:29
tags: python

一、python程序设计思维
Sample:体育竞技分析

在这里插入图片描述在这里插入图片描述

from random import random
def getInputs():
    a=eval(input("请输入选手A的能力值(0-1):"))
    b=eval(input("请输入选手B的能力值(0-1):"))
    n=eval(input("模拟比赛的场次:"))
    return a,b,n

def printIntro(): #介绍性内容,提高用户体验
    print("这个程序模拟两个选手A和B的某种竞技比赛")
    print("程序运行需要A和B的能力值(以0到1之间的小数表示)")

def printSummary(winsA,winsB):
    n=winsA+winsB
    print("竞技分析开始,共模拟{}场比赛".format(n))
    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA,winsA/n))
    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsB,winsB/n))

def simNGames(n,probA,probB):
    winsA,winsB=0,0
    for i in range(n):
        scoreA,scoreB=simOneGame(probA,probB)
        if scoreA>scoreB:
            winsA+=1
        else:
            winsB+=1
    return winsA,winsB
def simOneGame(probA,probB):
    scoreA,scoreB=0,0
    serving="A"
    while not gameOver(scoreA,scoreB):
        if serving=="A": # 选手A发球
            if random()<probA:# 随机生成一个能力值,如果在A的范围内,A获得一分
                scoreA+=1
            else:
                serving="B"# 如果超过了A的能力范围,发球局换为B
        else:
            if random()<probB:
                scoreB+=1
            else:
                serving="A"
    return scoreA,scoreB
def gameOver(scoreA,scoreB):
    if scoreA==15 or scoreB==15:
        return True
    else:
        return False
def main():
    printIntro()
    probA,probB,n=getInputs()
    winsA,winsB=simNGames(n,probA,probB)
    printSummary(winsA,winsB)
main()
这个程序模拟两个选手A和B的某种竞技比赛                                                 
这个程序模拟两个选手A和B的某种竞技比赛
程序运行需要A和B的能力值(01之间的小数表示)
请输入选手A的能力值(0-1):0.45
请输入选手B的能力值(0-1):0.50
模拟比赛的场次:1000
竞技分析开始,共模拟1000场比赛
选手A获胜364场比赛,占比36.4%
选手A获胜636场比赛,占比63.6%

在这里插入图片描述
演算天气需要MM5模型,将地球分割成了很多的小区域,并且用布局在全球各个区域的传感器,来采集每个区域的温度以及气象变化的数值,把这些数据输入到计算机中,经过一种迭代和数学演算,这种数学演算是利用MM5模型将当前的区域和周围的区域以及再远的区域不断的去进行叠加运算,去预测未来按照这样的天气,后面会产生的小区域的天气状况。

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

二、python第三方库的安装

python全球社区,可以搜索任何主题的第三方库

在这里插入图片描述在这里插入图片描述
search用来搜索与关键词相关的所有第三方库

在这里插入图片描述

集合安装方法:结合特定的python开发工具,批量安装一批库,常用的有Anaconda库,它是一个python数据处理方面的集成开发工具,支持近800个第三方库,也就是说,只要把Anaconda的相关的开发程序下载并安装成功,你的系统中就有了800个第三方库,你可以使用它们而不需要安装,这样的开发环境中不止包含第三方库,还包含了多种主流的python开发工具。

Anaconda目前是数据计算领率的相对标准的开发环境

有些第三方库,使用pip可以将它的文件下载到本地,但是安装过程会经常发生错误,是因为某些第三方库提供的并不是可执行文件,而是第三方库的源代码,下载到本地后,需要结合你的操作系统进行编译,再进行安装。

如果你想直接下载编译后的版本用于安装,但第三方库的作者并没有提供这样的方式,怎么办?
UCI页面给出了在windows操作系统上一批可以下载,但是需要编译再安装的第三方库的直接编译后的版本。(解决你用pip可以完整下载,但你的操作系统不具备编译环境,不能安装的情况)

三、OS库的使用

在这里插入图片描述在这里插入图片描述

Sample:第三方库自动安装脚本

在这里插入图片描述在这里插入图片描述

import os
libs={"numpy","matplotlib","pandas"}
try:
    for lib in libs:
        os.system("pip install "+lib)
    print("Successful")
except:
    print("Failed Somehow")

本博客学习内容来自mooc 北理Python语言程序设计课程S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值