为什么函数中的Python条件不起作用? def血压(收缩压、舒张压): 平均血压=(收缩压+(2*舒张压))/3 风险=浮动(1.0) 风险回报=四舍五入((风险*平均压力),2) 如果舒张压

为什么函数中的Python条件不起作用? def血压(收缩压、舒张压): 平均血压=(收缩压+(2*舒张压))/3 风险=浮动(1.0) 风险回报=四舍五入((风险*平均压力),2) 如果舒张压,python,Python,当我运行这段代码时,它输出的数字就好像它通过了第一个条件if

当我运行这段代码时,它输出的数字就好像它通过了第一个条件
if<120
,而不是
else
条件。我需要它将
0.1
添加到原始风险中,但它没有正确通过。对不起,这是非常基本的,我刚刚开始编写代码。出了什么问题?

我认为您计算
风险\回报的时间太早了:

def血压(收缩压、舒张压):
平均血压=(收缩压+(2*舒张压))/3
风险=1.0
如果舒张压<80,收缩压>=120:
风险+=0.1
返回轮((风险*平均压力),2)
打印(血压(121,75))

在什么情况下,您希望添加0.1?如果局部变量立即超出范围,则增加局部变量
风险
的目的是什么?
风险+=0.1
不会影响
风险回报
,当您不更改它时,为什么您希望
risk\u return
会有所不同?您如何知道它是通过if语句进行的?您的返回值不变。更改
risk
的值不会更改
risk\u return
的值。另外,不要忘记,如果舒张压<80,收缩压>=120,则一半时间内不返回任何值:
,而不是嵌套两个if语句
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))