python编程竞赛规则_用python实行羽毛球比赛规则。

羽毛球比赛规则:

1、21分制,三局两胜为佳

2、每球得分制

3、每回合中取胜的一方的一分

4、双方均为20分时,领先对方2分一方获胜

5、双方均为29分时,先到达30分一方获胜

6、一局比赛中获胜方在下一局率先开球

代码如下:

from random import random

print("学号尾数08")

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("模拟比赛的场次: "))

m = eval(input("模拟次数:"))

return a, b, n, m

def simNGames(n, probA, probB):

winsA, winsB = 0, 0

scoreA_ls=[]

scoreB_ls=[]

for i in range(n):

scoreA, scoreB = simOneGame(probA, probB)

scoreA_ls.append(scoreA)

scoreB_ls.append(scoreB)

if scoreA > scoreB:

winsA += 1

else:

winsB += 1

return winsA, winsB,scoreA_ls,scoreB_ls

def gameOver(a,b):

if(a>=20 or b>=20):

if(abs(a-b)==2 and a<=29 and b<=29):

return True

else:

return a==30 or b==30

else:

return False

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,m,scoreA_ls,scoreB_ls):

n = winsA + winsB

print("模型模拟次数{}".format(m))

print("竞技分析开始,共模拟{}场比赛".format(n))

print("A选手各场次得分比分:")

print(scoreA_ls)

print("B选手各场次得分比分:")

print(scoreB_ls)

print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))

print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))

def main():

printIntro()

probA, probB, n, m= getInputs()

for i in range(m):

winsA, winsB,scoreA_ls,scoreB_ls = simNGames(n, probA, probB)

printSummary(winsA, winsB,m,scoreA_ls,scoreB_ls)

main()

运行结果如下:

学号尾数08

这个程序模拟两个选手A和B的羽毛球竞技比赛

程序运行需要A和B的能力值(以0到1之间的小数表示)

请输入选手A的能力值(0-1): 0.4

请输入选手B的能力值(0-1): 0.3

模拟比赛的场次: 6

模拟次数:8

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[30, 20, 30, 30, 30, 30]

B选手各场次得分比分:

[15, 18, 11, 11, 7, 18]

选手A获胜6场比赛,占比100.0%

选手B获胜0场比赛,占比0.0%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[21, 30, 30, 30, 21, 30]

B选手各场次得分比分:

[19, 23, 19, 13, 23, 12]

选手A获胜5场比赛,占比83.3%

选手B获胜1场比赛,占比16.7%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[18, 30, 30, 30, 30, 22]

B选手各场次得分比分:

[20, 20, 15, 18, 14, 20]

选手A获胜5场比赛,占比83.3%

选手B获胜1场比赛,占比16.7%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[30, 30, 30, 30, 30, 30]

B选手各场次得分比分:

[7, 10, 18, 8, 17, 20]

选手A获胜6场比赛,占比100.0%

选手B获胜0场比赛,占比0.0%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[20, 21, 21, 23, 21, 30]

B选手各场次得分比分:

[18, 19, 19, 25, 19, 23]

选手A获胜5场比赛,占比83.3%

选手B获胜1场比赛,占比16.7%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[30, 30, 30, 30, 30, 26]

B选手各场次得分比分:

[12, 20, 18, 4, 13, 28]

选手A获胜5场比赛,占比83.3%

选手B获胜1场比赛,占比16.7%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[18, 30, 30, 18, 30, 30]

B选手各场次得分比分:

[20, 21, 15, 20, 18, 19]

选手A获胜4场比赛,占比66.7%

选手B获胜2场比赛,占比33.3%

模型模拟次数8

竞技分析开始,共模拟6场比赛

A选手各场次得分比分:

[30, 30, 30, 20, 28, 30]

B选手各场次得分比分:

[15, 13, 14, 18, 26, 21]

选手A获胜6场比赛,占比100.0%

选手B获胜0场比赛,占比0.0%

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

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

相关文章

使用python下载文件的简单示例_Python

简单的FTP下载 &#xff0c;不加任何异常判断。import osfrom ftplib import FTPftp_addr 10.10.0.1fFTP(ftp_addr)f.login(anonymous)f.cwd("apk_download/")remote_file 20141223140651.apkf.retrbinary("RETR %s" % remote_file, open(remote_file, &…

mysql8.0.11启动不了_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法

转&#xff1a;https://blog.csdn.net/iyayaqiqi/article/details/80536110系统环境&#xff1a;win10(1803),64位MySQL版本&#xff1a;8.0.11免安装版MySQL下载地址&#xff1a;https://dev.mysql.com/downloads/mysql&#xff0c;在下载页面往下拉&#xff0c;选择自己的操作…

mysql 建立索引的例子_mysql建立合适的索引的例子

在mysql数据库中&#xff0c;其实建索引也是一门学问&#xff0c;一个表中&#xff0c;索引并不是越多越好&#xff0c;而是适合你的业务才最重要。那么建立索引的时候&#xff0c;我们应该从以下几点去考量。1. 索引字段越小越好&#xff0c;像varchar(10)肯定比text类型的效果…

mysql有没有类似merge_有关于Mysql的MERGE表类型

有关于Mysql的MERGE表类型他将多个表在逻辑上当作一个表来查询。他建立后有两个文件&#xff0c;.frm 表结构定义.mrg union表的名字清单两个基本表:CREATE TABLE TEST_MERGE_1(ID INT(5) NOT NULL,VALUE VARCHAR(100) NOT NULL,PRIMARY KEY(ID))CREATE TABLE TEST_MERGE_2(ID …

python爬虫数据可视化软件_python爬虫及数据可视化分析

1.前言本篇文章主要介绍python爬虫及对爬取的数据进行可视化分析&#xff0c;本次介绍所用的网站是(https://www.duanwenxue.com/jingdian/zheli/)2.数据爬取2.1定位到爬取数据打开我们要爬取的网页&#xff0c;右键选择检查&#xff0c;在窗口中单击左上角箭头&#xff0c;即可…

mysql同表字段前4位复制_MySQL不同表之前的字段复制

有时候&#xff0c;我们需要复制某个字段一整列的数据到另外一个新的字段中&#xff0c;这很简单&#xff0c;SQL可以这么写&#xff1a;UPDATE tb_1 SET content_target content_source;大概写法如下&#xff1a;Update {your_table} set {source_field} {object_field} WHE…

php mysql购物车实现原理_PHP实现购物车的思路和源码分析

这里主要是记录下自己的购物车的思路&#xff0c;具体功能实现&#xff0c;但是尚未在实际项目中用到&#xff0c;不对之处欢迎指正项目中需要添加购物车。目录说明buy.php 点击购买之后的操作car.php 购物车&#xff0c;显示购买的东西conn.php 数据库连接参数delete.php 删除…

java 文件目录_Java——文件及目录File操作

packagefile;importjava.io.File;/*** 删除文件和目录**/public classDeleteFileUtil {/*** 删除文件&#xff0c;可以是文件或文件夹**paramfileName* 要删除的文件名*return删除成功返回true&#xff0c;否则返回false*/public static booleandelete(String fileName) {File …

java 对象池 实现_Java对象池技术的原理及其实现

看到一片有关于java 对象基础知识&#xff0c;故转载一下&#xff0c;同时学习一下。摘 要 本文在分析对象池技术基本原理的基础上&#xff0c;给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。关键词 对象池&#xff1b;对象池技术&#xff1b;Java…

java heap 参数_java heap space解决方法和JVM参数设置

因为程序要从数据读取近10W行记录处理&#xff0c;当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。在网上一查可能是JAVA的堆栈设置太小的原因。跟据网上的答案大致有这两种解决方法&#xff1a;1、设置环境变量set JAVA_OPTS -Xms32m -Xmx512…

java 进程崩溃_java程序崩溃自启脚本

java程序崩溃自启脚本教程1.将java程序崩溃自启脚本下载下来,放入项目的同级目录,将proc_name"xxx.jar" 更改成对应的名称2.chmod 777 文件 给于权限3.将想要jar程序停止 执行./test.sh 如果出现-bash: ./practice1.sh: /bin/bash^M: bad interpreter: No such file…

java程序流程控制_java程序流程控制

顺序结构分支结构(条件结构)循环结构控制循环结构顺序结构&#xff1a;如果代码里没有流程控制&#xff0c;程序是至上而下一行一行执行的&#xff0c;一条语句执行完之后继续执行下一条语句&#xff0c;直到程序的最后。if语句:基本语法:if(表达式){方法体}else if(表达式){方…

java调用c视频接口_JAVA本地调用(JNI- java调用c)

记录一下工作内容&#xff0c;对术语了解不多&#xff0c;暂且这样记着吧。java调用c一、写jni的步骤如下&#xff1a;1.创建java类&#xff0c;定义接口函数&#xff0c;使用native修饰&#xff1b;2.将java类编译成class&#xff1b;3.将class编译成*.h头文件&#xff1b;4.在…

java 随机 数字 字母组合_java生成随机数字和字母组合

import java.util.Random;public String getCharAndNumr(int length){String val "";Random random new Random();for(int i 0; i < length; i){String charOrNum random.nextInt(2) % 2 0 ? "char" : "num"; // 输出字母还是数字if(&q…

java 声明抽象方法_java – 类必须声明为abstract或实现抽象方法错误

这是我的代码,假设在按下按钮时更改一些文本&#xff1a; –public class MyActivity extends ActionBarActivity {TextView txtview;Button butto;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.…

java socket 线程池_java socket编程的一个例子(线程池)

服务器程序EchoServer.java&#xff1b;import java.io.*;import java.net.*;import java.util.concurrent.*;public class EchoServer {private int port10000;private ServerSocket serverSocket;private ExecutorService executor;//线程池private final int pool_size4;pri…

java是值传递还是引用传递_Java 到底是值传递还是引用传递?

点赞、收藏还挺多&#xff0c;求一波关注------------------------------------------------------------没人邀请&#xff0c;自己强行回答一波。关于这个问题&#xff0c;引发过很多广泛的讨论&#xff0c;看来很多程序员对于这个问题的理解都不尽相同&#xff0c;甚至很多人…

java趣事_【趣事】Java程序员最年轻,C++程序员最年老

原标题&#xff1a;【趣事】Java程序员最年轻&#xff0c;C程序员最年老说起我们对编程世界现有的刻板印象&#xff0c;你一定听说过类似于没有人喜欢用Java编码或者使用C 都是老人家&#xff0c;等等这样的话。为了分析这些刻板印象背后的真相&#xff0c;Trestle Technology的…

koa2 mysql 中间件_Koa2 和 Express 中间件对比

koa2 中间件koa2的中间件是通过 async await 实现的&#xff0c;中间件执行顺序是“洋葱圈”模型。中间件之间通过next函数联系,当一个中间件调用 next() 后&#xff0c;会将控制权交给下一个中间件, 直到下一个中间件不再执行 next() 后, 将会沿路折返,将控制权依次交换给前一…

mysql 索引 内存_mysql索引【第三篇】

##innodb引擎的数据是按页为单位的&#xff0c;当需要读一条记录时&#xff0c;并不是将这个记录本身从磁盘中读取出来&#xff0c;而是以页为单位将整个页读取到内存中&#xff0c;每个页默认大小为16kb数据查询过程&#xff1a; 磁盘---->内存---->返回结果数据更新过…