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

Python如何在range遍历的for循环内部获取动态变量c的取值

问题解决方法

1. 先修复代码语法错误

你提供的代码首先存在缩进不匹配的问题,内层for x循环的缩进级别错误,和外层for i循环的逻辑层级不对应,先修正缩进:

str1 = 1
str2 = 100
n = int(input('vvedite kolichestvo: ')) # 输入示例值4
r = 7
while str1 < str2:
    str1 = str1 + 1
    for i in range(n): # 循环次数为输入的n值
        i = i + 1
        globals()['summ{}'.format(r+i)] = r+i
        c = globals()['summ{}'.format(r+i)]
        print(c)
        # 修复原代码多出来的缩进,和c赋值语句保持同层级,处于for i循环内部
        for x in range(1, n):
            print(f"6 and {((x-1)%10)+1} and {(x - 1) // 10} and {c}")

2. 变量c的访问逻辑说明

  • 变量c是在for i循环内部定义的,修复缩进后的for x循环属于for i循环的内层子逻辑,天然可以直接访问外层作用域的c变量,不需要额外操作就能正常获取c的值。
  • 当循环执行到c赋值为8的分支时,内层for x循环的打印语句会自动读取到c=8的数值。

3. 固定测试c=8的场景

如果只需要在c=8时执行对应打印逻辑,可以加判断过滤:

c = globals()['summ{}'.format(r+i)]
if c == 8:
    for x in range(1, n):
        print(f"6 and {((x-1)%10)+1} and {(x - 1) // 10} and {c}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:08