嗨,我是一种新的尝试使用python 3.6为游戏制作一个快速伤害计算器,我需要将2个值乘以用户输入
def armCalc(armV):
'''Returns Armour Reduction Value'''
return "%.2f" % ((armV / (armV+(50*70))) * 100)
def resCalc(phys, cold, fire, light, pois, arc):
'''Returns AVG All Resist + Reduction'''
allRes = (phys + cold + fire + light + pois + arc) / 6
return "%.2f" % (allRes / (allRes + (5 * 70)))
基本上我需要将resCalc和armCalc相乘但python说它不能因为它们不是整数而且搜索只引导我输入示例。谢谢:))
答案 0 :(得分:3)
在以下行中:
#!python
...
return "%.2f" % (allRes / (allRes + (5 * 70)))
...您正在使用带有格式字符串前缀的%运算符将算术表达式的结果(allRes / (allRes + (5 * 70)))
转换为字符串。
所以只需将该行(以及其他类似行)更改为:
#!python
...
return float(allRes) / (allRes + (5 * 70))
在这种情况下,我还添加了对 float()构造函数/转换函数的调用,以确保使用浮点(实际)语义来评估整个表达式,而不是冒险整数除法如果此代码由其他版本的Python执行。