Python 3掷骰子模拟

时间:2015-03-23 23:05:09

标签: python

我不确定如何将roll()函数合并到playRound()中。 playRound应该模拟实际的掷骰子。我必须使用roll()函数以及所有其他代码。我可以编辑的唯一段是playRound()函数。

from random import (random, randint)

def roll():
    return randint( 1, 6 ), randint( 1, 6 )

def playRound():


def main():
    print("Craps simulation") 
    while True:
        response = input("Enter an integer value > 0 ")
        if response == "": 
          print("Thank you for your business!")
          break

        try:
          num_trials = int(response)
          if num_trials < 1: 
              raise ValueError("Input must be >= 1 ")

          roundsPlayed = 0
          wins = 0
          while roundsPlayed < num_trials:
              roundsPlayed += 1
              if playRound(): 
                  wins += 1

            print( "Probability of winning is {0:>0.2%}".format( wins/num_trials  ) )

        except ValueError as err:
          print( err )
        except TypeError as err:
          print( err )

main()

1 个答案:

答案 0 :(得分:2)

只要在范围内,您就可以调用任何函数。在Python中,在最外层作用域层上定义的每个函数都可以从脚本中的任何位置调用(或模块命名空间,如果您正在使用它)。这被称为全球范围。

当你有一个返回多个值的函数时,Python允许你使用逗号分隔它们,用不同的变量很容易地捕获它们。

这是一个在roll内调用playRound并将返回值存储在两个变量中的小例子:

def playRound():
    roll1, roll2 = roll()