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

Python中while循环执行完毕后else语句未触发问题求助

问题分析与解决

你的代码核心问题是**describe_status变量在while循环内没有更新**,导致这是个死循环,永远走不到else块。

初始的describe_status只在循环外赋值了一次,循环里的pass啥也没做,describe_status会一直保持初始值。只要一开始状态不是AVAILABLE,这个循环就会无限运行,根本不会出现条件变为假的情况,自然触发不了else里的代码。

修正后的代码应该在循环内重新查询状态并更新变量,另外建议加个延迟避免频繁调用API:

describe = client_sc.describe_provisioned_product(Id=pp_id)
describe_status = describe['ProvisionedProductDetail']['Status']
while describe_status != 'AVAILABLE':
    # 每次循环重新获取最新状态
    describe = client_sc.describe_provisioned_product(Id=pp_id)
    describe_status = describe['ProvisionedProductDetail']['Status']
    # 延迟5秒,避免高频请求
    import time
    time.sleep(5)
else:
    create_access_key = client_iam.create_access_key(UserName='Tom')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 08:45:28