提问者:小点点

Python如何随机挑选一个与3个值对应的可验证值?


好的,我会尽量简单地解释,我想让玩家随机。随机在1到3之间,然后把怪物加到手上,但是我不知道我该如何去设定一个有3个值的变量名字,攻击和防御,我试过把变量放到一个列表里,然后随机选择,但是它错误地说,不能把verifable加到超过1个verifable。


    import random
    
    
    class Mon:
        def __init__(self, name, a, d):
            self.name, self.attack, self.defence = name, a, d
    
    
    player_hand = []
    # Monsters      Name   Attack Defence
    monster1 = Mon("geoff", 1000, 800)
    monster2 = Mon("Harry", 900, 1000)
    monster3 = Mon("Sophie", 1900, 1600)
    
    while True:
        try:
            player = int(input("Draw a card! :1"))
        except:
            print("You didnt pick a number")
            continue


共2个答案

匿名用户

我不知道你想做什么,但也许是这样的:

mons = [monster1,monster2,monster3]

current_mon = random.choice(mons)

现在current_mon是来自Monster1,monster2或Monster3的随机怪物

匿名用户

您可以使用字典,例如:

monster1 = {"name": "Geoff", "Attack": 1000, "Defence": 800}
monster2 = {"name": "Harry", "Attack": 900, "Defence": 1000}
monster3 = {"name": "Sophie", "Attack": 1900, "Defence": 1600}

为了提取值:

提取怪物1的攻击:

print(monster1["attack"])