我需要两次随机运行六面骰子并返回它们的总和。我不确定这是否正确,但我不认为是,我仍然在学习python,所以当涉及到这种东西时我就是新手。
import random
def roll_die():
roll1 = random.randint(1,6)
roll2 = random.randint(1,6)
total = roll1 + roll2
return total
答案 0 :(得分:2)
有效。
最佳做法是通过调用:
来初始化随机生成器random.seed()
在脚本的开头,即使没有必要,省略它也不是一个错误。
如果您想测试它,请添加以下内容:
print(roll_die())
在脚本的末尾,要打印结果,因为 return 关键字不会在屏幕上打印任何内容,它只用于让函数的结果出来。
答案 1 :(得分:0)
之后你应该调用你的函数:print roll_die()
答案 2 :(得分:0)
这将完全符合您的要求。有关详细信息,请在交互式解释器中使用help(something)
:
>>> import random
>>> help(random.randint)
Help on method randint in module random:
randint(self, a, b) method of random.Random instance
Return random integer in range [a, b], including both end points.
你也可以用蛮力的方式测试它:
>>> valid_numbers = list(range(2, 13)) # You can just use range(2, 13) in python 2.x
>>> valid_numbers
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> while len(valid_numbers) > 0:
... roll = roll_die()
... if roll in valid_numbers:
... print(roll)
... valid_numbers.remove(roll)
...
4
10
5
7
6
8
11
9
3
2
12
当然,您的参赛作品应与我的参赛作品不同。