程序设计方法学

news2025/1/21 5:56:14

体育竞技分析

问题分析

体育竞技分析

需求:毫厘是多少?

如何科学分析体育竞技比赛?

输入:球员的水平

输出:可预测的比赛成绩

体育竞技分析:模拟N场比赛

计算思维:抽象 + 自动化

模拟:抽象比赛过程 + 自动化执行N场比赛

当N越大时,比赛结果分析会越科学

比赛规则

双人击球比赛:A & B,回合制,5局3胜

开始时一方先发球,直至判分,接下来胜者发球

 球员只能在发球局得分,15分胜一局

这要说到俩个概念,自顶向下的设计和自底向上的执行

自顶向下 解决复杂问题的有效方法

将一个总问题表达为若干个小问题组成的形式

使用同样方法进一步分解小问题

直至,小问题可以用计算机简单明了的解决

自底向上(执行)

逐步组建复杂系统的有效测试方法

分单元测试,逐步组装

按照自顶向下相反的路径操作

直至,系统各部分以组装的思路都经过测试和验证

 

 

 

 

 

 

 这是一个Python程序,用于模拟两个选手A和B进行某种竞技比赛的结果,并给出比赛结果的统计分析。

首先,程序定义了几个函数:

  1. printIntro():用于打印程序的简要介绍。
  2. getInputs():用于获取用户输入的选手A和B的能力值,以及模拟比赛的场次。
  3. simNGames(n, probA, probB):用于模拟n场比赛,并返回选手A和B的胜场数。
  4. gameOver(a,b):用于判断比赛是否结束,当选手A或B的得分达到15分时比赛结束。
  5. simOneGame(probA, probB):用于模拟一场比赛的结果,返回选手A和B的得分。
  6. printSummary(winsA, winsB):用于打印竞技分析结果,包括模拟比赛的场次、选手A和B的获胜场次及占比。

然后,程序调用main()函数,依次执行以下操作:

  1. 打印程序的简要介绍。
  2. 获取用户输入的选手A和B的能力值,以及模拟比赛的场次。
  3. 模拟n场比赛,并返回选手A和B的胜场数。
  4. 打印竞技分析结果,包括模拟比赛的场次、选手A和B的获胜场次及占比。

总体来说,该程序是一个简单的竞技分析模拟程序,通过随机数模拟比赛结果,并对比赛结果进行统计分析,得出选手A和B的胜率。

#!/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2023/4/11 16:50
# @File : 体育竞技分析.py
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(a,b):
    return a==15 or b==15
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, scoreB
def printSummary(winsA, winsB):
    n = winsA + winsB
    print("竞技分析开始,共模拟{}场比赛".format(n))
    print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))
    print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))
def main():
    printIntro()
    probA, probB, n = getInputs()
    winsA, winsB = simNGames(n, probA, probB)
    printSummary(winsA, winsB)
main()

python程序设计思维

计算思维与程序设计

第3种人类思维特征

逻辑思维:推理和演绎,数学为代表,A->B B->C A->C -

实证思维:实验和验证,物理为代表,引力波<-实验 -

计算思维:设计和构造,计算机为代表,汉诺塔递归

抽象和自动化

计算思维:Computational Thinking

抽象问题的计算过程,利用计算机自动化求解

计算思维是基于计算机的思维方式

以前就是实证思维,通过查询当地的历史天气的数据,并且根据这样的经验,来猜测第二天的温度。实证思维通过物理,经验的东西来构造未来的值

计算思维,就是通过计算机来演算天气,这样数据更加精确

计算生态与python语言

 优质的计算生态Python123 - 编程更简单

用户体验与软件产品

 

 

 

 

应用开发的四个步骤

 

注:内容来自慕课--嵩天老师 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/414397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QML控件--Menu

文章目录一、控件基本信息二、控件使用三、属性成员四、成员函数一、控件基本信息 二、控件使用 import QtQuick 2.10 import QtQuick.Window 2.10 import QtQuick.Controls 2.3ApplicationWindow{visible: true;width: 1280;height: 720;Button {id: fileButtontext: "Fi…

2023最全的自动化测试入门基础知识(建议收藏)

1)首先&#xff0c;什么是自动化测试&#xff1f; 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常&#xff0c;在设计了测试用例并通过评审之后&#xff0c;由测试人员根据测试用例中描述的过程一步步执行测试&#xff0c;得到实际结果与期望结果的比较。…

数据结构入门(C语言版)二叉树的顺序结构及堆的概念及结构实现应用

二叉树的顺序结构及堆的概念及结构实现二叉树的顺序结构堆的概念及结构堆的实现1、堆向下调整算法2、堆的创建3、堆的插入4、堆的实现向上调整(AdjustUp)向下调整(AdjustDown)堆的初始化(HeapInit)堆的销毁(HeapDestroy)堆的插入(HeapPush)堆的删除(HeapPop)取堆顶的数据(HeapT…

【微服务笔记14】微服务组件之Config配置中心高可用环境搭建

这篇文章&#xff0c;主要介绍微服务组件之Config配置中心高可用环境搭建。 目录 一、高可用Config配置中心 1.1、高可用配置中心介绍 1.2、搭建Eureka注册中心 1.3、搭建ConfigServer服务端 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;添加配置文件 …

北上广测试工程师月薪20K往上,该如何做,需要会什么技能?

有人回答说这只能是大企业或者互联网企业工程师才能拿到。也许是的&#xff0c;小公司或者非互联网企业拿两万的不太可能是码农了&#xff0c;应该已经转管理。还有区域问题&#xff0c;这个不在我的考虑范围内&#xff0c;因为除了北上广深杭&#xff0c;其他地方也很难达到。…

代码审计之PHP核心配置详解

代码审计之PHP核心配置详解1.register_globals&#xff08;全局变量注册开关&#xff09;2.allow_url_include&#xff08;是否允许包含远程文件&#xff09;3.magic_quotes_gpc&#xff08;魔术引号自动过滤&#xff09;4.magic_quotes_runtime&#xff08;魔术引号自动过滤&a…

【建议收藏】利用python基于模拟退火计算QUBO表达式(内附代码)

文章目录引言模拟退火算法模拟退火的理论过程模拟退火在优化中的应用基于python的模拟退火编码流程定义目标函数初始化状态迭代寻找最优完整代码模拟退火在求解QUBO表达式中的应用结束语引言 在计算QUBO解的过程中&#xff0c;通常需要利用不同的优化算法来计算其结果。 在本…

2023 年十大 API 管理趋势

作者郑玩星&#xff0c;API7.ai 技术工程师。 阅读原文 什么是 API&#xff1f;什么是 API 管理&#xff1f; 近期&#xff0c;AIGC&#xff08;AI Generated Content&#xff0c;生成式人工智能&#xff09;在各行业的应用日趋普及。AIGC 服务提供商通过 API 向外部提供其内…

18 隐私模式下面发送 http 请求不成功

前言 是这样的一个情况, 最近 我们服务存在这样的一个问题 是在登录界面, 假设我用户名 或者 密码输入错误, 能够得到真确的结果, 拿到了 正常的 http 响应, 回来 "用户名 或者 密码 不正确 " 但是 假设是在 隐私模式下面, 同样的输入, 同样的服务, 但是结果 不一…

VMware ESXi 7.0 U3l macOS Unlocker OEM BIOS (标准版和厂商定制版)

VMware ESXi 7.0 U3l macOS Unlocker & OEM BIOS (标准版和厂商定制版) 提供标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3-oem/&#xff0c;查看最新版…

C++---状态压缩dp---小国王(每日一道算法2023.4.15)

注意事项&#xff1a; 状压dp难度警告&#xff01; 本题为"状态压缩dp—蒙德里安的梦想"的近似题&#xff0c;建议先阅读这篇文章并理解。 题目&#xff1a; 在 nn 的棋盘上放 k 个国王&#xff0c;国王可攻击相邻的 8 个格子&#xff0c;求使它们无法互相攻击的方案…

1~5年的软件测试工程师,该学习哪些知识实现涨薪20K?

工作已经8年有余&#xff0c;这8年里特别感谢技术管理人员的器重&#xff0c;以及同事的帮忙&#xff0c;学到了不少东西。这8年里走过一些弯路&#xff0c;也碰到一些难题&#xff0c;也受到过做为一名测试却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东…

华为暑期实习

前言&#xff1a; 多行数据需要输入的时候可以用下面的结构&#xff1a; while True:try:n int(input())s input().split()num []for i in s:num.append(int(i))k int(input())print(num[n-k])except:break输入两组数据&#xff1a; 1 8108 17 2542 4218 9064 4908 1526 …

【WLSM、FDM状态估计】电力系统状态估计研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

实验二 图像空间域频率域滤波

一&#xff0e;实验目的&#xff1a; 1. 模板运算是空间域图象增强的方法&#xff0c;也叫模板卷积。 &#xff08;1&#xff09;平滑&#xff1a;平滑的目的是模糊和消除噪声。平滑是用低通滤波器来完成&#xff0c;在空域中全是正值。 &#xff08;2&#xff09;锐化&…

ChatGPT实战100例 - (01) 秒出思维导图

文章目录ChatGPT实战100例 - (01) 秒出思维导图一、需求与思路1. 需求&#xff1a;快速的头脑风暴2. 思路&#xff1a;生成markdown然后转化嗯二、生成markdown语法的思维导图1. 问题2. 回答三、把markdown文本转换成思维导图1. 转换2. 下载ChatGPT实战100例 - (01) 秒出思维导…

Nature Communications|评估推进基于网络的蛋白质-蛋白质相互作用预测的社区工作

题目&#xff1a;Assessment of community efforts to advance network-based prediction of protein–protein interactions 文献来源&#xff1a;Nature Communications | (2023) 14:1582 4 代码&#xff1a;https://github.com/spxuw/PPI-Prediction-Project 内容&#x…

英语基础:四级431、六级没过,考研英语78分经验分享 (23考研)

前言 博主备考时的英语基础&#xff1a;英语四级431分, 六级没过 研究生英语二分数&#xff1a;78分 ps&#xff1a;也许这个分数段不是一些大佬的目标分数 (80)&#xff0c;本篇文章的目的只是帮助一些英语基础差的同学&#xff0c;提供一些备考经验。 一、基础阶段 时间&…

AI与未来文明:人工智能能否重塑人类文化,改变社会生活?

哈喽&#xff0c;大家好&#xff0c;我是木易巷&#xff01; 今天我想和大家深入探讨一个备受关注、广泛讨论的话题&#xff1a;人工智能&#xff08;AI&#xff09;及其对我们人类未来发展的影响&#xff0c;人工智能能否重塑人类文化&#xff0c;改变社会生活&#xff1f; 我…

JVM参数

GC参数 年轻代老年代参数SerialSerial Old-XX:UseSerialGCParallel ScavengeParallel Old-XX:UseParallelGC -XX:UseParallelOldGCParallel NewCMS-XX:UseParNewGC -XX:UseConcMarkSweepGCG1G1-XX:UseG1GCZGCZGC-XX:UseZGC jdk默认GC新生代老年代默认参数jdk8Parallel Scaven…