如何在While循环中实现每轮执行后更改变量取值
循环轮转变量值实现方案
你现有代码存在两个可直接导致运行失败的问题:
- 将需要依次切换的"A"、"B"、"C"、"D"、"F"拆分为独立零散变量,无法通过循环计数直接匹配对应取值
- 字符串类型不支持
+=1的数值运算,运行时会触发类型错误。
推荐实现(适配任意取值顺序)
把所有需要按轮次切换的文本按顺序存入列表,循环时直接通过索引取对应位置的值即可,不受取值是否连续的限制:
# 按轮次顺序存储要切换的所有值 target_values = ["A", "B", "C", "D", "F"] i = 0 while i < len(target_values): a = target_values[i] print(a) i += 1
运行后输出完全匹配预期:
A B C D F
连续字母场景简化方案
如果后续需要切换的是连续的字母序列,也可以通过ASCII码转换实现,不需要提前存所有值:
a = "A" i = 0 while i < 5: print(a) # 字符转ASCII编码+1后再转回字符 a = chr(ord(a) + 1) i += 1
注意:该方案仅适用于连续字符切换,像你示例中D之后直接取F、跳过E的非连续场景,优先使用列表存储的方案,灵活度更高。
内容的提问来源于stack exchange,提问作者Lukáš Čimo
相关产品推荐
相关产品推荐

