首页 > 编程语言 >python123_第七周练习_程序设计题

python123_第七周练习_程序设计题

时间:2022-12-08 18:02:16浏览次数:430  
标签:第七 scoreB probB probA python123 print 程序设计 def scoreA

羽毛球计分规则:

1. 21 分制,3局2胜为佳
2. 每球得分制
3. 每回合中,取胜的一方加 1 分
4. 当双方均为 20 分时,领先对方 2 分的一方赢得该局比赛
5. 当双方均为 29 分时,先取得 30 分的一方赢得该局比赛
6. 一局比赛的获胜方在下一局率先发球

 

代码:

from random import random

def printInfo():
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 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 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(c, d):
return c==15 or d==15

def printSummary(n ,winA, winB):
print('竞技分析开始,共模拟{}场比赛'.format(n))
print('选手A获胜{}场比赛,占比{:.2f}%'.format(winA, winA/n*100))
print('选手B获胜{}场比赛,占比{:.2f}%'.format(winB, winB / n * 100))
def main():
printInfo()
probA, probB, n =getInputs()
winsA, winsB = simNGames(n, probA, probB)
printSummary(n, winsA, winsB)

main()

 

结果如下:

 

 

标签:第七,scoreB,probB,probA,python123,print,程序设计,def,scoreA
From: https://www.cnblogs.com/zxzaaa/p/16966855.html

相关文章

  • 第七章练习题
    组卷一软件的六大质量特性包括:功能性可靠性可用性效率可维护性可移植性软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,......
  • 程序设计基础实验课 单元六的题-UVA10410 TreeReconstruction 树重建
    入门指南题面:  洛谷题面:   观看的题解:https://www.cnblogs.com/jerryRey/p/4622927.html  对样例区样例画的一些图:       题目的一些争议......
  • 2022合肥学院ACM程序设计大赛-正式赛题解
    A.孤独摇滚计算下一个回文年,输出即可。#include<stdio.h>intcheck(intx){if(x/1000==x%10&&x/100%10==x%100/10)return1;return0;}intmain(......
  • 第七次打靶
    靶机介绍1)靶机地址:https://download.vulnhub.com/admx/AdmX_new.7z2)靶机难度:中3)打靶目标:取得2个flag+root权限4)涉及攻击方法:主机发现、端口扫描、WEB路径爆破......
  • NCURSES程序设计之皇后问题
    该程序是用NCURSES库实现的皇后问题,可以将算法结果以图形方式显示,并可遍历所有结果编译时需要加上NCURSES链接库,gcc-o<>-lncurses源代码如下,可在linux系统中编译后直接......
  • GXT之旅:第七章:MVC——Navigation,Main和Item区域交互(1)
    (刚干了一个多月的flex项目,一时半会还无法转过神来专注于GXT的东东,有好多东西自己都忘的差不多了。。。。我得好好屡屡)使用TabPanel显示feeds之前,我们已经通过RssMainPa......
  • GXT之旅:第七章:MVC——标准的MVC与GXT MVC
    第七章:ModelViewController本章我们要了解GXT的MVC架构,以及学习他们在一个大型的应用系统里是如何系统工作的我们会涉及到如下GXt功能集AppEventEventTypeControllerView......
  • Java程序设计——从方法学角度描述
    Java程序设计——从方法学角度描述作者:化志章 揭安全 钟林辉出版社:机械工业出版社  一、程序设计语言概述1.1程序的含义和程序设计策略1.2程序设计语言的......
  • 高级语言程序设计(c语言版)
    高级语言程序设计(c语言版)  ——基于计算思维能力培养作者:揭安全出版社:人民邮电出版社 一、程序设计引论1.1计算科学与问题求解1.2程序与程序设计1.3程序......
  • 线上服务异常的定位、处理与优化的探索 - 第七章 总结
    一.1. 如何减少线上服务问题 1. GC部分v 尽早释放不使用的对象,特别注意一些复杂的数组、队列这些对象之间关系复杂相互引用,GC回收他们效率较低。如果程序允许,尽早将......