首页 > 解决方案 > 为什么我的 Python 条件函数内不起作用?

问题描述

def blood_pressure(systolic, diastolic):

    mean_pressure = (systolic + (2 * diastolic)) / 3

    risk = float(1.0)

    risk_return = round((risk * mean_pressure), 2)

    if diastolic < 80:
        if systolic < 120:
            return(risk_return)
        else:
            risk += 0.1
            return(risk_return) 
    return

print(blood_pressure(121,75))

当我运行此代码时,它会输出数字,就好像它通过了第一个条件if systolic < 120而不是else条件一样。我需要它来增加0.1原始风险,但它没有正常通过。抱歉,这真的很基础,我刚刚开始编码。出了什么问题?

标签: python

解决方案


我认为你计算risk_return得太早了:

def blood_pressure(systolic, diastolic):
    mean_pressure = (systolic + (2 * diastolic)) / 3
    risk = 1.0

    if diastolic < 80 and systolic >= 120:
        risk += 0.1

    return round((risk * mean_pressure), 2)


print(blood_pressure(121,75))

推荐阅读