我正在做一个基于文本的游戏,我试图打印出一个随机的敌人,它每次都在输出变量中打印相同的敌人
import random
monsters = [("Goblin", 1), ("Troll", 3), ("Bear", 2), ("Giant Spider", 1), ("Bandit", 1), ("Wolf", 1), ("Homeless Man", 1), ("Goblin Chief", 3)]
def spawnMonster():
enemy, DMG = random.choice(monsters)
print(enemy)
output = "A " + enemy + " comes out of the bushes."
spawnMonster()
print(output)
看起来你的程序的问题与随机性无关。这是因为您没有将函数中的
output
值返回到顶层,所以您之前在output
中拥有的任何内容(可能是您在同一交互会话中运行的旧程序的前一次运行)都不会更改。你知道吗旧版本使用
global output
。这很管用,虽然有点笨重。你知道吗更好的解决方案是返回值。像这样:
但如果你出于某种原因想让它成为一个全球性的公司,你可以回到过去。你知道吗
相关问题 更多 >
编程相关推荐