这是我的代码和错误,搞不懂为什么会有这种错误,希望能帮我解答
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()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 maixpy训练模型,模型训练好了以后,开发板通电会报错,不知道是什么问题
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容