爱编程的页页 2022-09-01 21:54 采纳率: 87.5%
浏览 32
已结题

哪位能帮我看一下这是什么错误?

这是我的代码和错误,搞不懂为什么会有这种错误,希望能帮我解答

img

img

img

  • 写回答

2条回答 默认 最新

  • 梦里逆天 2022-09-01 22:23
    关注

    你输的那个冒号好像是中文的,第40行,多了个等号

    
    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 printSummary(winsA, winsB):
        n = winsA + winsB
        print(f'分析开始,共模拟{n}场比赛')
        # print(f'选手A胜{winsA}场,胜率{(winsA / n) * 100}%')
        # print(f'选手B胜{winsB}场,胜率{(winsB / n) * 100}%')
        print('选手A胜{}场,胜率{:0.1%}'.format(winsA, winsA / n))
        print('选手B胜{}场,胜率{:0.1%}'.format(winsB, winsB / n))
    
    
    def gameOver(a, b):
        return a == 15 or b == 15
    
    
    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 main():
        printIntro()
        probA, probB, n = getInputs()
        winsA, winsB = simNGames(n, probA, probB)
        printSummary(winsA, winsB)
    
    
    main()
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 9月1日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵