Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让这段代码在每次调用Python时选择一个随机数?_Python_Python 3.x_Random - Fatal编程技术网

如何让这段代码在每次调用Python时选择一个随机数?

如何让这段代码在每次调用Python时选择一个随机数?,python,python-3.x,random,Python,Python 3.x,Random,当我运行此代码时,RanMob类第一次选择一个新的随机数,然后再也不会选择一个新的数。如何让它在每次我在主游戏循环中调用RanMob时选择一个新的mob?不要使用类。类主体只执行一次(当Python遇到class语句时)。RanMob()行在这里是完全冗余的,执行Dice.die()调用的不是这一行 使用函数并返回结果: #randomly picks a monster for a random encounter class RanMob: #randint(1,2)

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

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

使用函数并返回结果:

#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)

无关:您应该为
\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。
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)