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

如何根据switch case用例数量动态初始化变量(支持任意用例数)

动态处理任意数量Switch Case用例的实现

下面是修改后的代码,能够自动识别cc中的所有case并动态收集每个case的语句,不再局限于固定数量的用例:

statment = []
body = []
switch = []
cc = []
cases = []  # 用这个列表存储所有case,每个元素是对应case的语句列表

current_case = []
for idx, token in enumerate(cc):
    # 跳过第一个元素的索引判断,避免索引越界
    if idx == 0:
        current_case.append(token)
        continue
    # 当遇到上一个token是break时,结束当前case,开始新的case
    if cc[idx-1] == "break":
        cases.append(current_case)
        current_case = []
    current_case.append(token)
# 处理最后一个没有break结尾的case
if current_case:
    cases.append(current_case)

print(statment)
print(switch)
# 遍历输出所有case
for i, case in enumerate(cases, 1):
    print(f"case{i}: {case}")

关键修改说明:

  • 移除了手动定义的case1、case2,改用**列表cases**统一管理所有case,每个子列表对应一个case的语句集合。
  • 使用current_case临时存储当前正在收集的case语句,遍历cc时:
    • 当检测到上一个元素是"break"时,将current_case存入cases,并重置current_case开始收集下一个case。
    • 持续将当前token加入current_case。
  • 增加了对最后一个无break结尾的case的处理,避免遗漏。
  • 最后通过循环遍历cases输出所有case,支持任意数量的用例展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:05:47