程序设计方法学-python

本文探讨了程序设计方法学,通过体育竞技分析阐述了自顶向下和自底向上的解决问题方法。介绍了Python程序设计思维,强调计算思维在设计和构造中的重要性。讲解了基本的程序设计模式如IPO和模块化设计,并提到了OS库的使用,包括路径操作、进程管理和环境参数。此外,还讨论了第三方库自动安装脚本,特别是数据分析、数据可视化、文本处理和机器学习领域的库应用。
摘要由CSDN通过智能技术生成

程序设计方法学

实例:体育竞技分析

解决复杂问题的有效方法:自顶向下
自顶向下:将一个问题表达为若干各小问题组成的形式;继续分解,直至每个小问题可被计算机简单解决
——分而治之

逐步组件复杂系统的有效测试方法:自底向上
分单元测试,逐步组装;直至系统各部分通过测试和验证
——模块化集成

# MatchAnalysis.py
"""
需求:如何科学分析体育竞技比赛
输入:球员的水平
输出:可预测的比赛成绩
思维:抽象比赛结果+自动化执行N场比赛
N越大,比赛结果分析越科学
比赛规则:双人击球,A&B,回合制 5局3胜 胜者发球 15分胜一局

程序总体框架及步骤:
1. 答应程序的介绍性信息 --printInfo()
2. 获得程序运行参数:proA,proB,n --getInputs()
3. 利用球员A和B的能力值。模拟n局比赛 --simNGames()
4. 输出A和B获胜的场次及概率 --printSunmmary()
"""
# 第一阶段 --信息获取并输出

# 第二阶段 --模拟多场比赛

# 第三阶段 --根据比赛判断单局胜负

from random import random
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("模拟比赛的场次: "))
    return a, b, 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 gameOver</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fStardust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值