#randomly picks a monster for a random encounter        
class RanMob:
    #randint(1,2)
    roll=Dice.die(2)
    if roll ==1:
        mob=Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
    if roll ==2:
        mob=Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)

while True:
    #pick a new random monster
    RanMob()
    #print the name of the random monster
    print(RanMob.mob.name)

当我运行此代码时, RanMob类第一次选择一个新的随机数,然后从不选择一个新的数字。 每当我在主游戏循环中调用RanMob ,如何让它选择一个新的暴徒?

===============>>#1 票数:3 已采纳

不要使用课程。 类主体只执行一次(当Python遇到class语句时)。 RanMob()行在这里完全是冗余的,它不是执行Dice.die()调用的Dice.die()行。

使用函数并返回结果:

def ranmob():
    #randint(1,2)
    roll=Dice.die(2)
    if roll ==1:
        return Goblin(Goblin.name,Goblin.hp,Goblin.thaco,Goblin.ac,Goblin.inventory)
    if roll ==2:
        return Orc(Orc.name,Orc.hp,Orc.thaco,Orc.ac,Orc.inventory)

while True:
    #pick a new random monster
    mob = ranmob()
    #print the name of the random monster
    print(mob.name)

  ask by Medullan translate from so

未解决问题?本站智能推荐:

8回复

在python中,是否每次都有一个变量是不同的随机数?

基本上我有这个: 基本上,这样做是为variable1分配一个13到19之间的随机数。 但是,我要它做的是每次调用该变量时,在该变量之间分配一个13到19之间的不同随机数。 反正我能做到这一点吗? 如果我不够清楚,这里有一个例子: 我想要的输出看起来像这样:
1回复

每次使用随机数(python)时都得到相同的结果

每次我运行程序时,IR 总是随G1一起出现。 我试图通过多种方式修复它,但它们只会带来其他问题。 Elif G1 <= 25表示它有25%的机会做G1,但它总是会做G1。 我怎样才能解决这个问题? 任何帮助将不胜感激
5回复

Python生成随机数

这是我的代码: 问题是,当用户输入要生成的数字量时,它什么也没说,而python什么也没做。 它只是冻结。 我的代码有什么问题? 另外,我将如何计算平均值? 我的平均值是0.0。
3回复

在Python中更改随机数

我刚开始学习python,我做了这个简单的数字猜谜游戏,但是如果您尝试再次玩游戏,则会得到相同的数字。 例如,数字是78,您猜对了,但是您想再次播放,所以您说您想再次播放,数字仍然是78。 所以我该怎么做,以便每次有人玩游戏时数字都会改变
2回复

在python中是否有一个快速的随机数迭代器?

我在我的python脚本中使用了很多随机数。 传统上,我只是在需要它们的地方简单地调用random.random(),但是现在这占了执行时间的很大一部分。 所以我想提高速度。 原始版本可以归结为: 请注意,正在进行固定(当然更复杂)的迭代。 现在我尝试使用numpy :
6回复

随机数生成器,每次只返回一个数字

Python是否有一个随机数生成器,每次调用next()函数时都只返回一个随机整数? 数字不应重复 ,并且生成器应在区间[1, 1 000 000]中返回唯一的随机整数。 我需要生成超过一百万个不同的数字,如果所有数字同时生成并存储在列表中,这听起来好像非常耗费内存。
2回复

随机数网格4 x 6 Python 3

我是Python 3的新手,想生成一个4x6的随机网格。 我尝试了各种方法,但最终在新行上打印,或者在每行上以相同的数字打印4x6等。 一些代码示例(我尝试了多种方式,但是我必须重新输入它们,因为我在Linux上使用virtualbox运行Python: 输出 期望的输出
2回复

我怎么知道python中生成的随机数?

这是我的代码。 我才刚刚开始学习Python。 我正在尝试生成一个随机数并进行猜测。 如果答案是7,则我的程序将显示“ lucky”。 如果不是,则为“倒霉”。 我尝试多次运行我的简单代码。 每次我“倒霉”。 有谁知道问题出在我的算法中还是其他地方。 顺便说一句,我真的很想知道我
1回复

Python Numpy随机数概率

为什么Y轴显示100000 ? np.random.uniform(1100,1000000)具有值百万,因此不应该它显示在y轴上百万?
2回复

用Python实现伪随机数生成器

我正在阅读Gilad Asharov,Yehuda Lindell,Thomas Schneider和Michael Zohner撰写的名为“ 针对恶意攻击者的安全性,更高效,效率更高的转移扩展”一文。 在第8页上,他们介绍了他们的协议。 在介绍正在使用的工具时,他们写道: