我是python的新手,我正在尝试制作一个简单的“游戏”
我想要获得怪物的健康,但只有名字出现。
我可以(random.choice(list(Monster.health.keys())))
和(random.choice(list(Monster.health.Values())))
将名称和健康状况存储在变量中,但我使用的是random
,所以这个名字可能会说'精灵',但健康可能会说'50'这是错误的。
如何将变量存储在random_mon_name_health
中并同时访问“键”和“值”
class Monster:
health = {'goblin': 15, 'giant': 50}
class EncounterM(Monster):
random_mon_name_health = ''
def basic_monster(self):
import random
self.random_mon_name_health = (random.choice(list(Monster.health.keys())))
def test(self):
print(self.random_mon_name_health)
beta_user = EncounterM()
beta_user.basic_monster()
beta_user.test()
# This is only a section of the game that I'm having trouble with
答案 0 :(得分:0)
您只需拨打一次choice
,就像这样:
class Monster:
health = {'goblin': 15, 'giant': 50}
class EncounterM(Monster):
def __init__(self):
self.random_mon_name = ''
self.random_mon_health = 0
def basic_monster(self):
import random
self.random_mon_name, self.random_mon_health = \
random.choice(list(Monster.health.items()))
def test(self):
print(self.random_mon_name, self.random_mon_health)
beta_user = EncounterM()
beta_user.basic_monster()
beta_user.test()
答案 1 :(得分:0)
如果你想在self.random_mon_name_health
存储两个键值,你可以将你的方法更改为类似的东西,它将返回一个包含怪物名称及其相关健康状况的元组。
def basic_monster(self):
import random
random_key = (random.choice(list(Monster.health.keys())))
self.random_mon_name_health = random_key, Monster.health[random_key]