from random import Random
def play(change):
"""Play game
@param change: True if player change after announce
@return: True if player win"""
choices = [1, 2, 3] # 1 is good, 2 and 3 are bad
r = Random()
#player choose :
player_choice = r.choice(choices)
print "Player first choice: %s" % player_choice
# We annouce one bad choice
bad_choice = player_choice
while bad_choice == player_choice:
bad_choice = r.choice((2, 3))
print "Bad choice announce: %s" % bad_choice
if change:
choices.remove(bad_choice)
choices.remove(player_choice)
player_choice = choices[0]
print "player change choice to: %s" % player_choice
if player_choice == 1:
print "player win"
return True
else:
print "player loose"
return False
def main():
n = 1000
change_true = 0
change_false = 0
for i in range(n):
r = play(True)
if r:
change_true += 1
for i in range(n):
r = play(False)
if r:
change_false += 1
print "change_true win ratio: %s" % (100 * change_true / n)
print "change_false win ratio: %s" % (100 * change_false / n)
if __name__ == "__main__":
main()
Grr l’indentation du code est pourrie sur la preview… Que fait la police ?
]]>