如何根据Python中的随机打印打印不同的项目?

2024-06-25 07:06:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我很抱歉,如果标题没有意义,但这是我的意思。这是我剧本的一部分。你知道吗

Mage = "Mage"
Warrior = "Warrior"
Thief = "Thief"

skilltree = (Mage, Warrior, Thief)

print random.choice (skilltree)

现在说它随机选择了战士。在我的下一个脚本中,它将打印7种技能。但如果随机选择盗贼或法师,他们将拥有7种完全不同的技能。所以我希望你得到的7个技能取决于随机选择的技能树。你知道吗

谢谢。你知道吗


Tags: 脚本标题技能random意义盗贼print剧本
3条回答

如果你不熟悉使用字典(正如他所说,使用字典可能是映射的最佳选择),我将用保罗的例子进一步说明一下。你知道吗

MageSkills = ["Mskill1", "Mskill2"]
ThiefSkills = ["Tskill1", "Tskill2"]
WarriorSkills = ["Wskill1", "Wskill2"]
skills = {'Warrior': WarriorSkills, 'Mage': MageSkills, 'Thief': ThiefSkills}

choice = 'Warrior'

print(skills[choice])

其他人已经概述了解决方案的一般概念,但我认为他们遗漏了你问题背后的关键误解,即如何坚持你随机选择和打印的内容。就这一点而言,为了理解这一点,我会这样做:

import random

classes = ("Mage", "Warrior", "Thief")
skill_dictionary = {"Mage": ["Fireball", "Ice Blast"...], "Warrior": [...]} # etc
random_class = random.choice(classes) # Keep a version around for yourself
print random_class # print the version you just saved so you still have a copy
print skill_dictionary[random_class] #Then use the saved version to get the skill list

这里一个重要的思想区别是将获取数据和显示数据分开。首先,您随机选择数据,只有在您已经拥有它之后,您才决定将它与您的print语句一起显示给用户。你知道吗

字典只是一个键/值存储(将键(您的类)映射到值(您的技能))。它恰好很好地解决了这个问题,但是您可以用其他方式实现它。你知道吗

你已经完成了困难的部分。现在您只需要将技能映射到每个类别。例如,使用字典:

skills = {'Mage': range(7), 'Warrior': range(7,14), 'Thief': range(14,21)}
choice = random.choice(skilltree)
print skills[choice]

这将打印与所选技能树关联的技能列表。我用range只是为了说明,你可以有一个字符串的技能列表。你知道吗

相关问题 更多 >