为什么函数中的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))