首页 > 其他分享 >排球比赛模拟

排球比赛模拟

时间:2023-12-17 20:14:46浏览次数:34  
标签:ability win team1 team2 score 排球比赛 print 模拟

代码


import random

def print_intro():
print("排球比赛模拟程序")
print("-------------------------------")

def input_teams():
team1_ability = float(input("请输入第一个球队的能力值:"))
team2_ability = float(input("请输入第二个球队的能力值:"))
return team1_ability, team2_ability

def simulate_match(team1_ability, team2_ability, num_simulations):
team1_wins = 0
team2_wins = 0

for _ in range(num_simulations):
team1_score = 0
team2_score = 0

for _ in range(4): # 模拟前4局比赛
while True:
team1_score += random.randint(0, 3)
team2_score += random.randint(0, 3)

if abs(team1_score - team2_score) >= 2 and max(team1_score, team2_score) >= 25:
break

# 决胜局(第五局)
while True:
team1_score += random.randint(0, 3)
team2_score += random.randint(0, 3)

if max(team1_score, team2_score) >= 15 and abs(team1_score - team2_score) >= 2:
break

if team1_score > team2_score:
team1_wins += 1
else:
team2_wins += 1

return team1_wins / num_simulations, team2_wins / num_simulations

def output_results(team1_win_prob, team2_win_prob):
print("\n模拟结果:")
print(f"第一个球队获胜的概率:{team1_win_prob:.2%}")
print(f"第二个球队获胜的概率:{team2_win_prob:.2%}")
print("信计1班34号")

def main():
print_intro()
team1_ability, team2_ability = input_teams()
num_simulations = int(input("请输入模拟比赛的次数:"))

team1_win_prob, team2_win_prob = simulate_match(team1_ability, team2_ability, num_simulations)
output_results(team1_win_prob, team2_win_prob)

if __name__ == "__main__":
main()

 

标签:ability,win,team1,team2,score,排球比赛,print,模拟
From: https://www.cnblogs.com/0602cxh/p/17909678.html

相关文章

  • 模拟比特洪流协议
    一、实验目标      首先将一个图形文件划分成指定大小的数据块。在一台主机下模拟五个应用进程,其中有四个peer,分别为peer1,peer2,peer3,peer4,还有一个tracker。将上述的图片数据块按要求分配到三个节点(peer1,peer2,peer3)上,peer4从tracker上获取三个节点的数据块信息。最......
  • 18.adb 模拟按键操作
    adb模拟手机按键1、打开【指针位置】设置2、执行 adbshellinput 命令模拟点击事件adbshelltapx坐标y坐标模拟输入事件adbshellinputtext<输入内容>模拟滑动事件adbshellswipe<起点x><起点y><终点x><终点y><滑动时长>模拟手机按键返回键:adbshell......
  • 2023.12.16模拟赛总结
    这次比赛打的好,但又不好,200pts,rank4,但原本可以360pts的T1每一条边减去端点贡献,最小生成树即可T2从小到大枚举花瓣数,然后对于每一列记录前四大的,防止不能转移,然后直接跑即可赛时打了一个线段树,被卡常+卡空间,hahahaT3暴力,先分解质因数,由于\(\varphi(p^k)=(p-1)p^{k-1}\),那么......
  • 技术美术|游戏中的流体模拟(Fluid Simulation)
    【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!一、闲聊最近一直在研究流体模拟,很神奇的一个东西,好在网上有很多参考资料,研究过程不算太困难。分享下最近一段时间的学习心得。二、效果演示 ......
  • 模拟适配器设计方案:360-基于10G以太网的模拟适配器
    基于10G以太网的模拟适配器一、产品概述   基于10G以太网的模拟适配器是一款分布式高速数据采集系统,实现多路AD的数据采集,并通过10G以太网光纤远距离传输到存储计算服务器,计算控制指令能通过光纤返回给数据卡进行IO信号控制。产品基于10G太网络,可迅速构建起......
  • AD采集卡设计方案:630-基于PCIe的高速模拟AD采集卡
    基于PCIe的高速模拟AD采集卡一、产品概述   基于PCIe的一款分布式高速数据采集系统,实现多路AD的数据采集,并通过PCIe传输到存储计算服务器,实现信号的分析、存储。    产品固化FPGA逻辑,适配2路1Gsps/2路2Gsps采集,实现PCIe的触发采集,单次采集容量2GB,开源......
  • 3.草图大师安装胚子插件、布料模拟插件
    一、胚子插件导入1.下载及安装胚子插件,https://www.bilibili.com/video/BV1xP411s7su/?vd_source=d1a768a1747fb268e1e40d209416a9d02.在草图大师界面右键勾选 二、布料模拟插件导入1.72版ClothWorks只支持su2020(ruby2.5)及以下,su2021(ruby2.7)控制台,使用1.74版ClothWorks,su2......
  • R语言蒙特卡罗Monte Carlo方法进行数值积分和模拟可视化
    全文链接:https://tecdat.cn/?p=34556原文出处:拓端数据部落公众号蒙特卡罗方法的常见用途是对可能难以通过解析积分的函数执行数值积分。这可能看起来很奇怪,但直觉是相当简单的。关键是几何思维问题,并将其与概率连接。让我们采取一个简单的多项式函数,用y=x^2来说明这个想法。......
  • 【删除排序链表中的重复元素】模拟
    leetcode82.删除排序链表中的重复元素II题意:只要链表中元素x重复出现了,删除所有元素x(刚开始还读错题了……)题解:在表头前添加链表的虚拟节点dummy遍历链表(1)如果当前节点cur的下一个节点cur.next和cur.next.next相等,则意味着出现了重复元素,记录元素值,从cur.next开始挨个删......
  • 【大数相加链表模拟】
    leetcode2.两数相加题意:两个长度为[1,100]的大数,分别倒序存储(个位在链表头)在两个链表中,计算两个数的和,并倒序存储在一个新链表,返回链表表头。数据中不存在前导零。题解:模拟大数相加,注意维护进位carry即可代码/***Definitionforsingly-linkedlist.*publicclassL......