2012-11-11 84 views
1

我想將Python程序轉換爲C#。我不明白這裏做了什麼。Python是這個字符串還是字符串數組?

def mrF(alg, times = 1): 
    if ((times % 2) == 0): 
     return alg 
    else: 
     if (alg == 'R'): 
      return "L'" 
     if (alg[0] == 'G'): 
      return alg 
     if (alg[-1] == "'"): 
      return alg[:-1] 
     elif (alg[-1] == '2'): 
      return alg 
     else: 
      return (alg + "'") 

alg是字符串還是字符串數組或列表?

+1

FWIW,這非常unpythonic蟒蛇。 [不需要任何括號](http://ideone.com/Cr0qCU) – Eric

+0

@Eric很確實。另外,例如,用'alg.startswith('G')'替換'alg [0] =='G''將更具可讀性。然後是那些神祕的名字'alg'和'mrF',事實上這個函數的目的是不透明的,但它沒有被註釋掉...... –

+0

@MarkAmery我沒寫這段代碼:) –

回答

4

它是一個字符串。你可以在Python中的字符串上使用下標運算符,我假設它是你的代碼中的唯一部分,它使你可以將它作爲問題發佈。

>>> "rohit"[0] 
'r' 
>>> "rohit"[-1] 
't' 
>>> "rohit"[0:2] 
'ro' 

它類似於您訪問lists中索引的方式。

+1

可能值得一提的是你可以做到這一點在C#中(但它不是那麼靈活)'Console.WriteLine(「Hi!」[1]);' – MasterMastic

+1

@Ken ..實際上,我對C#沒有任何意見。但謝謝你提到這一點。 :) –

+0

這是一個快速的,我已經閱讀Python的列表內容。不知道這可能適用於字符串。謝謝! @Ken,我不知道我可以做到這一點。必須檢查我在C#中如何處理[:::]# –

相關問題