首页 > 其他分享 >乒乓球

乒乓球

时间:2023-12-17 18:45:39浏览次数:18  
标签:winsB winsA probB probA score print 乒乓球

import _pyinstaller_hooks_contrib as pyinstaller
#a.采用乒乓球比赛规则

#1.打印程序的介绍性信息式(要求包括你们学号后两位信息)
print("学号后两位:40")
print("22信计1班曾翠")


from random import random
def printIntro():
print("这个程序模拟A和B两方的乒乓球竞技比赛")
print("程序运行需要A和B两方的能力值(以0到1之间的小数表示)")

#2.输入I(input):两个球员(球队)的能力值,模拟比赛的次数
def getInputs():
bs = eval(input("单打请输入1,双打请输入2:"))
a = eval(input("请输入A方的能力值(0-1):"))#此时因为有双打和单打,所以称之为A方和B方
b = eval(input("请输入B方的能力值(0-1):"))
n = eval(input("模拟比赛的场次:"))
return bs, a, b, n

#3.处理P(process):模拟比赛过程
#乒乓球比赛规则
#一局比赛:在一局比赛中,先得11分的一方为胜方;10平后,先多得2分的一方为胜方。
#一场比赛:单打的淘汰赛采用七局四胜制,双打淘汰赛和团体赛采用五局三胜制。
def simNGames(bs, N, probA, probB):
winsA, winsB = 0, 0
if bs == 1: # 单打
for i in range(N):
scoreA, scoreB = simOneGame(probA, probB, 7, 4)
if scoreA > scoreB:
winsA += 1
else:
winsB += 1
elif bs == 2: # 双打
for i in range(N):
scoreA, scoreB = simOneGame(probA, probB, 5, 3)
if scoreA > scoreB:
winsA += 1
else:
winsB += 1
return winsA, winsB
def simOneGame(probA, probB, num_sets, num_wins):
player1_score, player2_score = 0, 0
while not gameOver(player1_score, player2_score, num_wins):
point_winner = simulatePointWinner(probA, probB)
if point_winner == "A":
player1_score += 1
else:
player2_score += 1
return player1_score, player2_score

def simulatePointWinner(probA, probB):
if random() < probA:
return "A"
else:
return "B"

def gameOver(player1_score, player2_score, num_wins):
return player1_score == num_wins or player2_score == num_wins

#4.输出O(output):两个球员(球队)获胜的概率(输出谁做的结果截图)
def printSummary(winsA,winsB,n):
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()
bs, probA, probB, n = getInputs()
winsA, winsB = simNGames(bs, n, probA, probB)
printSummary(winsA, winsB, n)
main()
pyinstaller
第一次结果:

 第二次结果:

第三次结果:

第四次结果:

 

标签:winsB,winsA,probB,probA,score,print,乒乓球
From: https://www.cnblogs.com/yxx0818/p/17909535.html

相关文章

  • 模拟体育竞技分析:乒乓球比赛规则
     要求:1)模拟体育竞技分析:(不同学号选做不同题目,必做题)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬......
  • python两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比
    两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单实例#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(ord('x'),ord('z')+1):forjinra......
  • P1042 [NOIP2003 普及组] 乒乓球
    [NOIP2003普及组]乒乓球题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分......
  • 乒乓球的本质是旋转对抗
    这几天我的乒乓球实力大增我认为原因有两个,一个是改进了正手拉球引拍幅度,让我的正手上台率提高,当然也可能是我换成纯木的球拍,拍子更能吃住球了另一个就是对旋转的理解更加深刻了面对对面发过来的旋转,要么就顺着对面的旋转去接,要么就自己加力去对抗它的旋转这就是接发球......
  • 智能照明控制系统在体育馆乒乓球比赛场地中的设计与应用
    未晓妃安科瑞电气股份有限公司上海嘉定201801摘要:在早期的体育建设中,大多较为注重体育赛场的规糢形式,随着体育建筑的不断发展,人们对体育场地的功能性、设备情况、安全舒适程度和绿色环保情况越来越重视。智能系统开始在体育场馆建设中应用,而智能照明是智能系统的重要组成部分。在......
  • P1042 [NOIP2003 普及组] 乒乓球
    题目描述华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在\(11\)分制和\(21\)分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其中\(\textttW\)表示华华获得一分,\(\textttL\)表示华华对手获得一分):\(\texttt{WWWWWWWWWWWWWWWWWWWW......
  • 算法刷题记录:乒乓球
    题目链接https://ac.nowcoder.com/acm/contest/19306/1033题目分析这题好坑,乒乓球的比分如果相差<2,还得继续比下去,但是题目里面没有说qwq。看了眼题解才发现这个点。AC代码#include<iostream>usingnamespacestd;//统计11分制和21分制的比分strings;intmain(......
  • # [NOIP2003 普及组] 乒乓球
    #[NOIP2003普及组]乒乓球题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中\(11\)分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白......
  • 【230414-1】乒乓球队的10名队员中有3名主力队员,派5名参加比赛,3名主力要安排在第一、
    ......
  • Three.js 进阶之旅:物理效果-3D乒乓球小游戏
    声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。摘要本文在专栏上一篇内容《Three.js进阶之......