Python实验报告 实验15 - 体育竞技分析
一、实验目的
(1)掌握结构化程序设计方法
(2)掌握Python的模块组织方法
二、实验环境
Windows 7以上版本的操作系统,Python 3.5以上编程环境。
三、实验内容和步骤
1.阅读下列代码,运行竞技比赛模拟程序,查看执行结果。
#MatchAnalysis.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, 0for i in range(n):scoreA, scoreB = simOneGame(probA, probB)if scoreA > scoreB:winsA += 1else:winsB += 1return winsA, winsB
def gameOver(a,b):return a==15 or b==15
def simOneGame(probA, probB):scoreA, scoreB = 0, 0serving = "A"while not gameOver(scoreA, scoreB):if serving == "A":if random() < probA:scoreA += 1else:serving="B"else:if random() < probB:scoreB += 1else:serving="A"return scoreA, scoreB
def printSummary(winsA, winsB):n = winsA + winsBprint("竞技分析开始,共模拟{}场比赛".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()
2.阅读官方文档关于package的描述:
https://docs.python.org/zh-cn/3/tutorial/modules.html#packages
module和package特性是Python开发大型项目的基石,请仔细阅读上述官方文档。回答:init.py文件的作用是什么?
3.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
字符 | 数值 |
---|---|
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 100 |
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
编写Python程序:给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。
样例输入 | 样例输出 |
---|---|
3 | III |
4 | IV |
9 | IX |
58 |
LVIII (解释: L = 50, V = 5, III = 3) |
1994 |
MCMXCIV (解释: M = 1000, CM = 900, XC = 90, IV = 4) |
四、实验结果
1. 运行截图
2. 回答
由于Python只把含 init.py 文件的目录当成包。因此__init__.py文件可以使Python能够将__init__.py所在的目录识别为一个包,除此之外,init.py还可以用来执行包的初始化代码,或设置__all__变量。
3.1 程序代码
thousands = ["", "M", "MM", "MMM"]
hundreds = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"]
tens = ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]
singles = ["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"]
def getRomenNum(num, digit):if digit == 4:return thousands[num]elif digit == 3:return hundreds[num]elif digit == 2:return tens[num]elif digit == 1:return singles[num]
def main():num = eval(input("请输入一个数字: "))thousand = getRomenNum(num//1000, 4)hundred = getRomenNum((num%1000)//100, 3)ten = getRomenNum(((num%1000)%100)//10, 2)single = getRomenNum(((num%1000)%100)%10, 1)print(thousand + hundred + ten + single)
main()
3.2 运行截图
Python实验报告 实验15 - 体育竞技分析相关推荐
- python乒乓球比赛规则_python模拟体育竞技分析--采用乒乓球规则
采用乒乓球比赛规则 ...
- Python:程序设计方法学、体育竞技分析
一.基础知识 二.程序设计方法学 import random def printIntro():print("这个程序模拟两个选手A和B的某种竞技比赛")print("程 ...
- python实验报告实验总结_Python词云制作实验报告
实验题目:n Python 词云制作实验报告 实验目的与要求: 础 掌握基础 Python 安装过程和词云制作. 实验步骤: n Python 安装 1.击 双击 Anaconda2-4.0.0-Wi ...
- 计算机网络数据分析报告,贵州大学计算机网络实验报告-实验四-分析IP协议数据包格式...
贵州大学计算机网络实验报告-实验四-分析IP协议数据包格式 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 贵州大学GUIZHOU UN ...
- python体育竞技分析代码200行_使用Python进行体育竞技分析(预测球队成绩)
使用Python进行体育竞技分析(预测球队成绩) 发布时间:2020-09-18 06:38:27 来源:脚本之家 阅读:69 今天我们用python进行体育竞技分析,预测球队成绩 一. 体育竞技分析 ...
- 关于体育的python毕业设计_Python实例13:体育竞技分析
Python实例13:体育竞技分析 8.1.1 问题分析 需求:毫厘是多少?如何科学分析体育竞技比赛? 输入:球员的水平: 输出:可预测的比赛成绩: 8.1.2 自顶向下,自底向上 将大问题分为几个小 ...
- python选手的最后得分_用Python进行体育竞技分析(预测球队成绩)!身家都下注了!...
今天我们用python进行体育竞技分析,预测球队成绩 一. 体育竞技分析的IPO模式 : 输入I(input):两个球员的能力值,模拟比赛的次数(其中,运动员的能力值,可以通过发球方赢得本回合的概率来 ...
- python 比赛成绩预测_使用Python进行体育竞技分析(预测球队成绩)
今天我们用python进行体育竞技分析,预测球队成绩 一. 体育竞技分析的IPO模式 : 输入I(input):两个球员的能力值,模拟比赛的次数(其中,运动员的能力值,可以通过发球方赢得本回合的概率来 ...
- python简单体育竞技模拟_Python程序设计思维练习---体育竞技分析-阿里云开发者社区...
体育竞技分析:模拟N场比赛 计算思维:抽象 + 自动化 模拟:抽象比赛过程,自动模拟N场比赛,当N越大时,比赛结果分析越科学. 本次比赛规则:回合制,15分一局,先由一方发球,如胜利,则得1分并继续发 ...
最新文章
- oracle存储过程参考资料(网上转载)
- dropdownlist javascript 取得value text
- Java 多态的简单介绍.
- 使用Spinner和setDropDownViewResource
- 基于WebSocket的手机应用和浏览器应用的数据传递
- matlab二项式拟合,数据回归分析和拟合的Matlab实现
- VSTS 2010体验 - TFS 2010变化巨大
- GrapeCity Documents for Excel 与 Apache POI 功能对比
- 这4点教你找到小程序专业开发公司
- kubernetes 删除容器 docker rmi Error response from daemon: conflict: container is using its referenced
- 第五版fmea表格_FMEA第五版: 新版 DFMEA六步法解析
- 一款JAVA微信小程序商城源码,带完整后台【运行版】
- 记一次抓包和破解App接口
- 三人行必有我师焉 [ 光影人像 东海陈光剑 的博客 ]
- 在GNU/Linux下将CD音乐转为mp3
- 计算机函数说课ppt,《excel公式与函数》说课稿
- 心怀远方,顶峰相见!!!
- 90 后美女独家秘籍:从小白到 AI 算法工程师
- SAP系统中信用控制功能详解
- 时序逻辑中的锁存器、触发器、寄存器
热门文章
- oracle Swap_join_inputs简析
- Nutch安装第四天,进入正题,Nutch2.4的配置和编译
- 关于knife4j工具聚合api文档的使用
- java 只有try 不catch_Java异常处理只有Try-Catch吗?
- 数据在计算机中存储形式
- Wireshark 解析PDCP-LTE
- 强化学习经典model-free方法总结
- python爬去新浪微博_!如何通过python调用新浪微博的API来爬取数据
- kernel panic-not syncing:IO-APIC+timer doesn't work!
- 本地小说阅读网站打造