首页 > 解决方案 > 在打印语句中使用已经随机选择的数字

问题描述

所以我正在创建一个你必须与怪物战斗的 python 游戏。玩家有 3 种能力,它们总是造成相同的伤害。怪物会造成伤害,但每次都是随机的。我想单独获得随机伤害数字,这样我就可以在每一轮之后创建一个摘要,例如,如果玩家做了 100 dmg 怪物做了 42 dmg,你的健康将在这一轮之后显示。玩家有 100 hp,它应该更新但不是每次战斗都刷新。所以在第一轮之后它会说玩家剩余生命值:58hp 怪物剩余生命值:900hp 第二轮玩家做了 100 dmg momster 10 玩家剩余生命值:48hp 怪物剩余生命值:800hp

ability = input("Press A for a melee hit, B for a firespell and C for a thunder").capitalize()
if ability == "A":
    print("Monster took 10 hp damage")
elif ability == "B":
    print("Monster took 40 hp damage")
elif ability == "C":
    print("Monster took 100 hp damage")
print("You have recieved that much damage from the monster: ", random.randrange(100))

如果有人可以帮助我,我会很高兴!已经提前感谢了!

标签: pythonpython-3.x

解决方案


要保存值以供以后使用,请将其存储在变量中:

ability = input("Press A for a melee hit, B for a firespell and C for a thunder").capitalize()
if ability == "A":
    print("Monster took 10 hp damage")
elif ability == "B":
    print("Monster took 40 hp damage")
elif ability == "C":
    print("Monster took 100 hp damage")
damage = random.randrange(100)
print("You have recieved that much damage from the monster: ", damage)
health -= damage

在 Python 3.8 中,赋值表达式让您可以在print()的中间执行此操作:

ability = input("Press A for a melee hit, B for a firespell and C for a thunder").capitalize()
if ability == "A":
    print("Monster took 10 hp damage")
elif ability == "B":
    print("Monster took 40 hp damage")
elif ability == "C":
    print("Monster took 100 hp damage")
print("You have recieved that much damage from the monster: ",
      (damage := random.randrange(100)))

推荐阅读