投篮游戏模拟

问题描述:

编写5名选手参与的篮球投篮模拟比赛,每场比赛中,每个选手投篮10个,命中多者获胜(可多人同时获胜),模拟1000次比赛,输出比赛结果分析报告。编写5名选手参与的篮球投篮模拟比赛,每场比赛中,每个选手投篮10个,命中多者获胜(可多人同时获胜)。

样例:

A的命中率:0.5

B的命中率:0.6

C的命中率:0.7

D的命中率:0.8

E的命中率:0.9

模拟次数:1000

输出:

选手A获胜次数为:12,占比为1.2%
选手B获胜次数为:60,占比为6.0%
选手C获胜次数为:133,占比为13.3%
选手D获胜次数为:355,占比为35.5%
选手E获胜次数为:795,占比为79.5%

import random
def getInputs():        #输入选手的命中率和模拟比赛次数
    t=[]
    for i in 'ABCDE':
        t.append(eval(input("{}的命中率:".format(i))))  #将命中率存入t列表中
    n=eval(input("模拟次数:"))
    return t,n
def oneGame(x):         #一次投篮游戏
    num=0
    for i in range(10):
        if random.random()<=x:
            num=num+1
    return num
def main():
    a=[0,0,0,0,0]       #存放总获胜次数
    t,n=getInputs()
    for i in range(n):
        b=[]            #存放一回合游戏结果
        for i in range(5):
            b.append(oneGame(t[i]))
        s=max(b)
        for j in range(5):
            if b[j]==s:
                a[j]+=1
    k=0
    for i in 'ABCDE':
        print("选手{}获胜次数为:{},占比为{}%".format(i,a[k],a[k]/10))
        k+=1
main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值