2016-05-10 60 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]): ... ...

相关问题