如何在 运行 for 循环两次后打印 i ?
How to print i after running for loop twice?
我试图在每次内部循环完成迭代时打印出 i
的值。
i
可以是 10
、20
、200
、2000
或任何数字,但对于本例,我选择了 100
。
for i in range(1, 3):
for ii in range(1, 100):
i += 1
print(i)
print(i + i)
给定输出:
100
101
想要的输出:
100
200
如何获得想要的输出?
您的外部循环变量也 命名为i
。由于您正在重载该变量名称,因此每次都会重置它。
考虑改用常见的习语 for _ in range(n)
,它将执行其内容 n
次。
x = 0
for _ in range(3):
for _ in range(100):
x += 1
print(x)
尽管正如 solid.py 在对该问题的评论中正确指出的那样,对于这个特定的用例,不一遍又一遍地加 1 可能更容易,而只是使用数学或更合适的范围。
for i in range(1, 3):
print(i * 100)
# or
for i in range(100, 301, 100):
print(i)
首先,内部循环不需要增加一个常数值。这与上面的代码相同,但更清晰:
for i in range(1,3):
i += 100
print(i)
print(i+i)
这将打印
101
102
103
要获得输出,请尝试使用辅助变量:
x = 0
for _ in range(1, 3):
x += 100
print(x)
这将获得您想要的输出
下面的代码通过使用 *
运算符解压缩 range()
中的所有值来工作。
旁注: range()
函数有一个步骤参数,指定增量。
print(*range(100, 300, 100))
上面代码的简单版本是:
for i in range(100, 300, 100):
print(i)
输出:
100 200
我试图在每次内部循环完成迭代时打印出 i
的值。
i
可以是 10
、20
、200
、2000
或任何数字,但对于本例,我选择了 100
。
for i in range(1, 3):
for ii in range(1, 100):
i += 1
print(i)
print(i + i)
给定输出:
100
101
想要的输出:
100
200
如何获得想要的输出?
您的外部循环变量也 命名为i
。由于您正在重载该变量名称,因此每次都会重置它。
考虑改用常见的习语 for _ in range(n)
,它将执行其内容 n
次。
x = 0
for _ in range(3):
for _ in range(100):
x += 1
print(x)
尽管正如 solid.py 在对该问题的评论中正确指出的那样,对于这个特定的用例,不一遍又一遍地加 1 可能更容易,而只是使用数学或更合适的范围。
for i in range(1, 3):
print(i * 100)
# or
for i in range(100, 301, 100):
print(i)
首先,内部循环不需要增加一个常数值。这与上面的代码相同,但更清晰:
for i in range(1,3):
i += 100
print(i)
print(i+i)
这将打印
101
102
103
要获得输出,请尝试使用辅助变量:
x = 0
for _ in range(1, 3):
x += 100
print(x)
这将获得您想要的输出
下面的代码通过使用 *
运算符解压缩 range()
中的所有值来工作。
旁注: range()
函数有一个步骤参数,指定增量。
print(*range(100, 300, 100))
上面代码的简单版本是:
for i in range(100, 300, 100):
print(i)
输出:
100 200