2016-05-10 103 views
0

是否有可能構造一個python if-then語句,其中的等式依賴於變量和字符串?Python如果包含變量和字符串的語句

例如,可能的值可能是「4」,「4A」或「4B」。但是我正在運行一個從4-12的循環(所以我可能有5A,6,7B等;總是4-12的整數,並且之後可能有也可能沒有字符串)。

我嘗試:

B_steps=np.zeros(8) 
A_steps=np.zeros(8) 
No_steps=np.zeros(8) 
for i in range(0,9,1): 
    if data[i]=="i+4""A": 
    A_steps[i]=A_steps[i]+1 
    elif data[i]=="i+4B": 
    B_steps[i]=B_steps[i]+1 
    else: 
    No_Steps[i]=No_steps[i]+1 

但是,這並不正常工作;我的語法不適合識別變量(i + 4)和可能的字母。有人可以建議在if/then語句中使用變量和字符串的正確語法是什麼?

回答

0
  1. 對於這種情況(以及爲什麼你的語法是不正確的),可變iint類型, ,而你把它放在一個字符串作爲字符串字面量的一部分。
    嘗試使用if data[i] == "%sA" % (i + 4)。 此外,您在此發佈的代碼未正確縮進,儘管可能是由複製粘貼引起的。 除此之外,如果您與Python中的語言本身和慣例不相似,或者一些基本的編程概念,請幫助您自己處理Python Documentation。我會推薦「教程」,「庫參考」和「Python HOWTOS」的章節。

  2. 對於比較複雜的情況,你可以嘗試使用正則表達式與re從Python標準庫,如: for i in range(0, 9, 1): if re.match(pattern_A, data[i]): ... ...

相關問題