我对 Python 知之甚少,但我对 C++ 相当有经验。 我一直在寻找一种可以循环遍历六边形模式中的点的算法,并找到了一个用 Python 编写的算法,它似乎正是我所需要的。问题是我不知道如何解释它。
这是 Python 代码:
for x in [(n-abs(x-int(n/2))) for x in range(n)]:
for y in range(n-x):
print ' ',
for y in range(x):
print ' * ',
print
我会向您展示我的尝试,但大约有 30 次不同的尝试都失败了(我敢肯定这只是我的错误解释)。
最佳答案
希望这对你有帮助。测试了 python 和 c++ 代码。得到了相同的结果。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
// your code goes here
int n = 10;
int a[n];
for(int j = 0; j < n; j++) {
a[j] = n - abs(j - (n / 2));
}
for(int x = 0; x < n; x++) {
for(int y = 0; y < (n - a[x]); y++) {
std::cout << " " << std::endl;
}
}
for(int k = 0; k < a[n-1]; k++) {
std::cout << " * " << std::endl;
}
std::cout << "i" << std::endl;
return 0;
}
关于python - 如何将这个广泛的 Python 循环转换为 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32918522/