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

如何在IF语句中统计条件满足总次数?代码输出异常求助

问题分析与解决方案

你的问题核心出在**Total变量的初始化位置**上——你把Total = 0写在了for循环的内部,这意味着每一次循环迭代时,Total都会被重置为0。哪怕上一次循环已经成功累加了1,下一次循环也会从头开始计数,所以每次满足条件时Total只能变成1,最终就输出了三次Total: 1,而非你想要的累计总和。

修复后的代码

把Total的初始化移到循环外面,同时注意避免变量名覆盖问题(原代码里的data = response.json()会覆盖掉原始的数据源变量),修改后的代码如下:

Total = 0  # 将初始化放在循环外部,保证计数能持续累加
for i in data['resources']:
    url = server + "/api/3/assets/" + str(i)
    response = requests.request("GET", url, headers=headers, verify=False)
    current_data = response.json()  # 改用current_data避免覆盖原始data变量
    if current_data['red'] and current_data['blue'] > 0:
        Total += 1
print('Total:', Total)  # 将打印放在循环外部,只输出最终累计结果

额外说明

修改后Total会在整个循环过程中持续记录满足条件的次数,循环结束后再打印最终结果,就能得到你预期的Total: 3输出了。另外替换变量名是为了防止原始的data(包含resources的数据源)被覆盖,避免后续可能出现的逻辑错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 16:42:28