Python如何随机选择一个有3个值的veriable?
好的,我会尽可能简单地解释,我希望玩家在1到3之间随机输入,然后将怪物添加到手上,但我不确定如何使用3个值命名、攻击和防御的变量,我试着把变量放入一个列表中,然后随机选择,但它错误地说不能添加超过1个veriable的veriablePython如何随机选择一个有3个值的veriable?,python,Python,好的,我会尽可能简单地解释,我希望玩家在1到3之间随机输入,然后将怪物添加到手上,但我不确定如何使用3个值命名、攻击和防御的变量,我试着把变量放入一个列表中,然后随机选择,但它错误地说不能添加超过1个veriable的veriable import random class Mon: def __init__(self, name, a, d): self.name, self.attack, self.defence
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
我不知道你想做什么,但也许是这样:
mons=[monster1,monster2,monster3]
当前菜单=随机选择菜单(菜单)
现在,
current\u 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"])
为了使怪物随机化,您可以执行以下操作:
def randomize_monster():
print (random.choice(["monster1", "monster2", "monster3"]))
randomize_monster()
这在3个怪物之间随机排列,并打印“怪物1”、“怪物2”或“怪物3”。对不起,我不明白这个问题。你能显示预期的产出吗?或者你想实现什么?这似乎更接近我想要的,所以最后一件事是我应该如何做一个随机。randint(1,3),这样我就可以让Enmy有一个随机怪物,让用户有一个随机怪物