如何将函数返回更改为整数

时间:2017-11-08 04:39:41

标签: python

嗨,我是一种新的尝试使用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说它不能因为它们不是整数而且搜索只引导我输入示例。谢谢:))

1 个答案:

答案 0 :(得分:3)

在以下行中:

#!python
...
    return "%.2f" % (allRes / (allRes + (5 * 70)))

...您正在使用带有格式字符串前缀的%运算符将算术表达式的结果(allRes / (allRes + (5 * 70)))转换为字符串。

所以只需将该行(以及其他类似行)更改为:

#!python
...
    return float(allRes) / (allRes + (5 * 70))

在这种情况下,我还添加了对 float()构造函数/转换函数的调用,以确保使用浮点(实际)语义来评估整个表达式,而不是冒险整数除法如果此代码由其他版本的Python执行。