我正在尝试使用英语规则模拟壁球比赛的得分。这些都是:
- 如果服务器赢得集会,则只有服务器会获得积分。
- 如果服务器赢得一场集会,他们将获得一分并继续作为服务器。
- 如果返回者赢得了一场集会,他们将成为服务器,但不会获得积分。
- 首先达到 9 分的玩家获胜,除非比分达到 8-8。
- 如果比分达到 8-8,首先达到 8 的玩家决定是打到 9 还是到 10。
我的代码是这样的:
import random
def eng_game(a,b):
A = 'bob'
B = 'susie'
players = [A, B]
server = random.choice(players)
print server
points_bob = 0
points_susie= 0
prob_A_wins = 0.4
prob_B_wins = 0.6
while points_bob or points_susie < 9:
probability = random.random()
print probability
if probability < prob_A_wins and server == A:
points_bob += 1
elif probability < prob_A_wins and server == B:
server == A
print server
if probability > prob_A_wins and server == B:
points_susie += 1
elif probability > prob_A_wins and server == A:
server == B
print server
print points_bob
print points_susie
此代码返回 Susie 以 9-0 获胜,而在某些情况下,应将服务器交换给 Bob 以赢得点数,但这并没有发生。苏西继续发球,她赢得了这一分。