皮在养 2022-05-11 11:04 采纳率: 100%
浏览 22
已结题

if嵌套最后一个if满足条件却运行self的

def all(self, li, pre1, pre2, su, he):
    for be in self.sj:
        if li < be['li']:
            if pre1 < be['pre1']:
                if pre2 < be['pre2']:
                    if su <= be['su']:
                        if he <= be['he']:
                            return True, '您的身体健康'
                            duration = 1000  # millisecond
                            freq = 440  # Hz
                        else:
                            duration = 1000  # millisecond
                            freq = 440  # Hz
                            winsound.Beep(freq, duration)
                            return True, '您的心率过快,会导致心脏做功增加,造成心脏肥厚,心力衰竭等严重问题,建议您适当增加运动,规律作息,减少熬夜、限盐、戒烟、戒酒、少动怒,保持心态平和'

if name == 'main':
print(db.all('1.3', '70', '120', '6', '70'))

#这是be里的数据
[{"li": "1.7", "pre1": "90","pre2": "140","su": "7","he": "100"}]

运行出来是这样
(True, '您的心率过快,会导致心脏做功增加,造成心脏肥厚,心力衰竭等严重问题,建议您适当增加运动,规律作息,减少熬夜、限盐、戒烟、戒酒、少动怒,保持心态平和')

img

其实应该是

True,'您的身体健康'

  • 写回答

4条回答 默认 最新

  • 不会长胖的斜杠 新星创作者: 后端开发技术领域 2022-05-11 11:18
    关注

    需要改成float类型比较,例如
    if float(li) < float(be['li'])

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月12日
  • 已采纳回答 5月11日
  • 创建了问题 5月11日