python - 在打印语句中使用已经随机选择的数字
问题描述
所以我正在创建一个你必须与怪物战斗的 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))
如果有人可以帮助我,我会很高兴!已经提前感谢了!
解决方案
要保存值以供以后使用,请将其存储在变量中:
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)))
推荐阅读
- c++ - 未能优化看似明显的循环不变量(但 volatile 限定符确实有魔力)
- sql - 带有 NULL 的单个表结果的 SQL 子查询
- android - 关闭应用程序时,Internet Connection Changed Broadcast Receiver 未执行
- ios - 如何删除 uicollectionview 顶部填充 swift 4 iOS 11?
- python - 为什么在 Python 3 中使用“except”是语法错误?
- task - 50 KHz 的 FreeRTOS ISR
- android - 将对象传递给另一个活动的方法
- python - 我不断收到错误消息:“ValueError: Expected 2D array, got 1D array instead:” 用于线性回归过程
- sql - R中的max函数没有给出所需的日期结果
- google-analytics - 在内容参与流程中分配“内容分组”(谷歌分析)