我的最終目標是將下面的代碼轉換爲C#,但我想通過學習python語法來完成自己的工作。我明白代碼是遞歸的。Python to C#代碼說明
該代碼產生具有k個變量的n次多項式。更具體地說是每個變量的指數列表。
def multichoose(n,k):
if k < 0 or n < 0: return "Error"
if not k: return [[0]*n]
if not n: return []
if n == 1: return [[k]]
return [[0]+val for val in multichoose(n-1,k)] + \
[[val[0]+1]+val[1:] for val in multichoose(n,k-1)]
這裏是我到目前爲止的轉換:
public double[] MultiChoose(int n, int k)
{
if (k < 0 || n < 0)
{
throw new Exception();
}
if (k == 0)
{
return [[0]*n]; // I have no idea what the [[0]*n] syntax means
}
if (n == 0)
{
return new double[0]; // I think this is just an empty array
}
if (n == 1)
{
return new double[1] {k}; // I think this is just an empty array
}
//Part I don't understand
return [[0]+val for val in MultiChoose(n-1,k)] + \
[[val[0]+1]+val[1:] for val in MultiChoose(n,k-1)]
}
我的問題是:如何轉換的Python代碼?
那麼什麼是你的問題? – 2010-01-24 20:58:23