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

2024-09-30 18:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我是个新手,只是想用python3.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说不行,因为它们不是整数,搜索只会让我找到输入示例。谢谢:)


Tags: returndeffirereturnslightreductionphys新手
1条回答
网友
1楼 · 发布于 2024-09-30 18:30:08

排成这样:

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

。。。您正在将算术表达式的结果:(allRes / (allRes + (5 * 70)))转换为一个字符串,使用%运算符和格式化字符串先行项。你知道吗

所以只要把这一行(和其他人一样)改成:

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

在本例中,我还添加了对float()构造函数/转换函数的调用,以确保如果此代码由其他版本的Python执行,则使用浮点(实数)语义而不是风险整数除法来计算整个表达式。你知道吗

相关问题 更多 >