如何为变量分配随机数?

use*_*349 6 python random

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

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

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

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

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

Inb*_*ose 8

我看到你与你所拥有的非常接近:

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

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

如果你继续打电话,Str = random.randint(1,18)Str每次都会改变.所以只做一次.

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

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