Python If语句带变量和字符串

时间:2016-05-10 13:26:31

标签: if-statement

是否可以构造一个python if-then语句,其中相等性取决于变量和字符串?

例如,可能的值可能是" 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语句中使用变量和字符串的正确语法是什么?

1 个答案:

答案 0 :(得分:0)

  1. 对于这种情况(以及您的语法不正确的原因),变量i的类型为int, 而你把它作为字符串文字的一部分放在一个字符串中 请尝试使用if data[i] == "%sA" % (i + 4)。 此处发布的代码也没有正确缩进,尽管它可能是由复制粘贴引起的。 除此之外,如果你不熟悉python中的语言本身和约定,或者一些基本的编程概念,请自助Python Documentation。我会推荐“Tutorial”,“Library Reference”和“Python HOWTOS”的章节。

  2. 对于更复杂的场景,您可以尝试在python标准库中使用带re的正则表达式,如: for i in range(0, 9, 1): if re.match(pattern_A, data[i]): ... ...

相关问题