这不是我的确切代码,但我基本上是这样做的
EnemyAttack = int(10)
Move = input("| Cast an attack spell(1) | Cast a defense spell(2) |")
if Move = ("2"):
print ("You have casted a defense spell for 2 turns")
EAN = 2
if EAN >= 1:
EnemyAttack = EnemyAttack / 2
EAN = EAN - 1
Health = Health - EnemyAttack
代码确实将敌人的攻击减半,但输出并不是我想要的。
print ("You have been damaged for {}".format(EnemyAttack)
显示
84.0
我希望它输出
84
我已经将EnemyAttack定义为整数,所以我很困惑为什么它显示为实数。有解决方案吗如果可以的话,使用我可以转换成我的情况的简单代码进行评论。感谢。
答案 0 :(得分:2)
您可以将其格式化为不带小数,将其四舍五入为最接近的整数:
print("You have been damaged for {:.0f}".format(EnemyAttack))
:
是必需的分隔符;之后的所有内容都定义了该值的格式化指令。我们在这里使用f
浮点格式化程序,.0
表示小数点后零位数。当你这样做时,小数点本身也会被删除。
这样做的好处是,根据需要将数字向上:
>>> EnemyAttack = 84.0
>>> print("You have been damaged for {:.0f}".format(EnemyAttack))
You have been damaged for 84
>>> EnemyAttack = 84.6
>>> print("You have been damaged for {:.0f}".format(EnemyAttack))
You have been damaged for 85
答案 1 :(得分:1)
在Python中,您无法定义变量名称的类型。
如果要进行整数除法,则必须使用整数除法运算符//
:
EnemyAttack = EnemyAttack // 2