模拟乒乓球比赛

from random import random
from pandas import DataFrame
from time import time
class SportCompetitionAnalyze:
    def PrintInfo(self):
        '''
        function: 打印程序的介绍信息
        '''
        print("{:*^70}".format("产品简介"))
        print("产品名称: 乒乓球竞技模拟分析器(采取单打淘汰赛制)")
        print("产品概述: 通过输入多个队伍的能力值(0到1之间的小数表示),能够模拟多次多个队伍的乒乓球竞技比赛,从而得出各自的胜率!")
        print("产品作者: 步平凡 - 04")
        print("{:*^70}".format("模拟开始"))
    def GetInputs_for_Singal(self):
        '''
        function: 获得用户输入的参数 获得单打各队员的能力值
        '''
        self.n = eval(input("请输入需要模拟比赛的场数:"))
        self.probAbilityList_Original = list(map(eval, input("(注:通过输入的次序进行两两配对, 即前两个分别为队员A和B;以此类推。)\n\
            请输入各队员的能力值(0~1), 请用英文逗号隔开(输入个数为2的倍数): ").split(',')))
        self.probAbilityList = self.probAbilityList_Original
        self.probNum = len(self.probAbilityList)
    def GetInputs_for_Double(self):
        '''
        function: 获得用户输入的参数 获得双打各队伍各队员的能力值
        probAbilityList: 使用各队伍中两队员的平均能力值作为该队伍的能力值 --- 双打
        probAbilityList_Original: 存储原生的各队员能力值, 后续可用
        '''
        self.probAbilityList, self.probAbilityList_Original = [], []
        self.n = eval(input("请输入需要模拟比赛的场数:"))
        Original = list(map(eval, input("(注:通过输入的次序进行四四配对, 即前四个为队伍A和B;以此类推。)\n\
            请输入各队员的能力值(0~1), 请用英文逗号隔开(输入个数为4的倍数): ").split(',')))
        for i in range(0, len(Original), 2):
            self.probAbilityList.append((Original[i] + Original[i+1])/2)
            self.probAbilityList_Original.append(list([Original[i], Original[i+1]]))
        self.probNum = len(self.probAbilityList)
    def PrintResult(self):
        '''
        function: 输出模拟比赛的结果
        data: 存储每支的比赛信息
        '''
        print("{:*^70}".format("模拟结束"))
        print("竞技分析结束,每组共模拟{}场比赛。".format(self.n))
        data = []
        for i in range(self.probNum):
            tmplist = []
            tmplist.append(self.probAbilityList_Original[i])  # 存储能力值
            tmplist.append(self.probwinsList[i])              # 存储获胜的场数
            tmplist.append(self.probwinsList[i]/self.n)       

 

posted @ 2021-01-09 19:36  εε  阅读(85)  评论(0)    收藏  举报