编写代码来模拟一名玩家的游戏并计算完成游戏所需的掷骰子次数。应允许用户指定模拟的游戏数量,并且代码应计算每场游戏的平均掷骰子数量。
#Snakes and Ladders simulation
import random #importing the random function to be able to use it later on
counterposition = 0 #setting counterposition and diceroll to 0
currentDiceroll = 0
def diceroll (): #when user rolls the 1-6 dice this does it randomly
return random.randint (1,6)
userInput = int(input("How many games would you like to play snakes and ladders?"))
for i in range (userInput):
currentDiceroll = diceroll()
print("The currentDiceroll is", currentDiceroll)
if counterposition == 1: #all the if statements show what happens if the one player lands on a snake or a ladder
counterposition = counterposition + 37
if counterposition == 4:
counterposition = counterposition + 10
if counterposition == 9:
counterposition = counterposition + 22
if counterposition == 21:
counterposition = counterposition + 21
if counterposition == 28:
counterposition = counterposition + 56
if counterposition == 51:
counterposition = counterposition + 16
if counterposition == 72:
counterposition = counterposition + 19
if counterposition == 80:
counterposition = counterposition + 19
if counterposition == 17:
counterposition = counterposition - 10
if counterposition == 54:
counterposition = counterposition - 20
if counterposition == 63:
counterposition = counterposition - 4
if counterposition == 64:
counterposition = counterposition - 4
if counterposition == 87:
counterposition = counterposition - 51
if counterposition == 92:
counterposition = counterposition - 19
if counterposition == 95:
counterposition = counterposition - 20
if counterposition == 98:
counterposition = counterposition - 19
if counterposition >= 100:
print ("Congratulations end of game")
counterposition = counterposition + currentDiceroll
print("the counter position is", counterposition)
您编写的代码仅掷骰子一次。您需要继续滚动,直到赢得比赛。最好创建一个函数来玩一次游戏并返回所需的骰子数量。
def playGame():
counterPosition = 0
numberOfRolls = 0
while (counterPosition < 100):
numberOfRolls += 1
currentDiceroll = diceroll()
print("The currentDiceroll is", currentDiceroll)
counterPosition += currentDiceroll
# your if statements go here
return numberOfRolls
然后您可以根据需要多次调用该函数。
totalDiceRolls = 0
for i in range(userInput):
totalDiceRolls += playGame()
avgRolls = totalDiceRolls / userInput
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)