python 和 c++ 的结果对于嵌套的 for 语句是不同的
The results of python and c++ are different for nested for statements
我正在用c ++和python编写算法。
算法是输出when n = 7, (0,1,2,3), (0,1,2,4) ... (3,4,5,6)
我通过嵌套的 for 语句实现了这一点,但 c ++ 和 python 的值是不同的。
你能告诉我为什么吗?
而且,例如,当我在范围内使用 i 时,我是否总是从 0 开始?如果有办法设置range()
的初始值,请告诉我。
C++
for(int i = 0; i < n; ++i)
for(int j = i+1; j < n; ++j)
for(int k = j+1; k < n; ++k)
for(int l = k+1; l < n; ++l)
cout << i << " " << j << " " << k << " " << l << endl;
蟒
for i in range(0, n):
for j in range(i+1, n):
for k in range(i+2, n):
for l in range(i+3, n):
print(i, j, k, l)
循环中有不同的索引:
for(int k = j+1; k < n; ++k)
for(int l = k+1; l < n; ++l)
和
for k in range(i+2, n):
for l in range(i+3, n):
基本上,C++代码中内部循环中的索引会相应地更改为它们上方一行的循环。在 python 代码中,所有索引仅在第一个循环更改时更改。
由@khelwood提供:
k
从C++代码中的j+1
开始,在 Python 代码中i+2
。您的l
起始值也不一致。代码不等效。
此外,您还可以将初始值添加为range()
中的第一个参数
相关文章:
- 嵌套for循环C++的问题(初学者)
- 从列表/向量制作嵌套 for 循环的最佳方法是什么?
- C++:带有 "auto" 的二维数组上的嵌套 For 循环
- 比较嵌套 for 循环中的两个 wchar 数组?
- 需要帮助在 C++ 中使用嵌套 for 循环
- 嵌套 for 循环仅运行内部循环 (c++)
- 优化四重嵌套"for"循环
- 执行三个嵌套for循环的最快方法是什么
- 在 c++ 中嵌套 for()
- 为什么我在程序集中的嵌套 for 循环会导致无限循环
- 多个嵌套for循环与单个for循环
- 在与 OpenMP 并行的嵌套 for 循环中写入共享数组(通过指针)如何产生错误的结果
- 为什么OpenCV Mat对象在嵌套for循环中指定了预期值后却不包含这些值
- 在我的嵌套 for 循环中找不到符号"k"?
- 仅对"specific"索引迭代嵌套"for"循环。C++
- 嵌套 for 循环的任何快速搜索算法
- 在C++中使用嵌套 for 循环的更复杂的形状
- 嵌套 for 循环 (C++) 无法正常工作
- 压缩多个嵌套 for 循环
- 嵌套 for 循环的运行时间