如何为变量分配随机数?

时间:2013-01-17 14:20:47

标签: python random

在我说任何其他内容之前,我想提一下我对编码几乎是全新的,并且只对python有一个非常基本的了解。

现在已经不在了,我的问题是我(尝试)按照D& D的方式编写文本冒险游戏。我陷入了早期阶段 - 即如何将1到18之间的随机整数分配给变量。

我已经看到了一些这样做的方法,但变量的值每次调用时都会改变。这不可能发生。之所以这样,是因为我希望统计数据(力量,智慧,智力,灵巧,魅力和体质)是一个随机生成但固定的数字,可以被调用并且每次都相同。

我尝试使用随机模块来解决Str = random.randomint(1,18)之类的问题。

我最接近的是使用lambda函数,因此当我调用变量时,它会生成一个随机数,每次都不同。这些都没有起作用,我真的很想知道我做错了什么。

2 个答案:

答案 0 :(得分:8)

我发现你与你所拥有的非常接近:

Str = random.randomint(1,18)应为Str = random.randint(1,18)

这是将随机int分配给变量Str的行,当您要求Str时,每次都应该得到相同的数字。

如果您继续致电Str = random.randint(1,18),则每次都会更改Str。所以只做一次。

如果您了解或了解classes,您应该使用它们来包含您的角色/物品/咒语/冒险/怪物等等,它们可能具有属性,属性和库存等等,就像游戏本身一样,你把不同类型的所有东西分组。

注意:你提到你使用了lambda,这可能意味着你已经将Str分配给一个每次都返回一个随机变量的函数,这意味着每次你要求Str时你实际上会问用于返回随机数的函数。

答案 1 :(得分:1)

欢迎使用编码。

我已经成为一名网络开发人员了一段时间,我最近也开始陷入比php更好的事情(在我看来)。我也会用:

Str = random.randomint(1,18)

您使用的是IDE吗?我发现,由于代码完成,你第一次学习新语言时它们很棒。它可以帮助您更快地了解语言,因为无需访问各种网站来查找语法。祝好运!基于文本的冒险游戏是开始学习的好方法!