使用随机列表元素运行函数

时间:2017-10-29 19:32:34

标签: python list random

from roles import Herbalist, Warrior

def makeRolesAct(listOfTheRoles):
    y = 0
    for role in listOfTheRoles:
        print("Role", y, role.describe())
        print(role.act())
        y+=1

def main():
    listOfTheRoles = []
    listOfTheRoles.extend([Warrior('axe', 'dragon'), Herbalist(), Warrior('hammer', 'horse')])

    for x in range(5):
        makeRolesAct(listOfTheRoles)

if __name__ == '__main__':
    main()

describe()描述了当前演员的角色。 act()让演员做他的行动。

我希望makeRolesAct()使用随机listOfTheRoles元素运行。 因此,如果我在循环中使用该函数,则会重复为随机选择的actor重复操作。

1 个答案:

答案 0 :(得分:1)

您可以使用random模块。

...
import random
...

def makeRolesAct():
        role=listOfTheRoles[random.randint(0,4)]
        print("Role", role.describe())
        print(role.act())
...
...

您的代码可以如上所示。