You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本if条件判断未按预期执行,总是输出sell如何排查?

Python if分支逻辑异常排查结果

核心错误点

你代码中elif分支的条件表达式存在严重逻辑错误,导致该分支条件永远为真,只要第一个if不满足就必然进入该分支:

  • 错误写法:5.5<=9.32 or 9.6
  • 第一个问题:5.5<=9.32是固定常量比较,结果永久为True,直接让整个条件成立
  • 第二个问题:即便调整为变量比较,or 9.6的写法也不符合Python语法规则:非零数字在布尔判断中恒为True,会直接让整个表达式结果为真

修复方案

首先明确你要判断的业务逻辑,正常应该是判断你抓取到的动态价格是否符合区间要求,假设你要判断的价格变量为price,正确的条件写法示例如下(可根据你的实际业务区间调整):

# 示例逻辑:price落在[5.5, 9.32]区间 或 大于等于9.6时触发sell
elif (5.5 <= price <= 9.32) or (price >= 9.6):

完整修正后的代码示例:

# 先将抓取到的元素值转成float类型的价格变量
price = float(driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[1]/div[3]/div[2]/div[1]/div/table/tbody/tr[1]/td[2]').text)

if len(enterlist) == 0:
    print('no list')
# 替换为你实际需要的判断逻辑
elif (5.5 <= price <= 9.32) or (price >= 9.6):
    print('sell')
    closelist.append([price])
else:
    print('no list no sell')

内容的提问来源于stack exchange,提问作者Hayden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:18:02