Python'if'语句 - 如果在[string] =='string' - 不工作?

时间:2016-10-03 01:02:07

标签: python if-statement

我正在尝试在给定字符串中找到一个字母。这就是我得到的:

 if i in steps == 'u':
    y -= pixels_per_move
elif i in [steps] == 'r':
    x -= pixels_per_move

steps是一个随机生成的字符串,由u,d,r,l组成。 所以它就像'uuurlluddd'

所以我只是在'步骤'中寻找那些字母但是上面的代码我得到了错误

TypeError:'in'要求字符串作为左操作数,而不是int

我不明白,因为步骤不是int,我尝试在多个地方放置str(),但会发生同样的错误。我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

它的含义是i是一个int。您正在测试i steps是否为字符串。我认为您尝试做的最有可能的事情是获取ith的{​​{1}}字符,在这种情况下您应该使用steps

答案 1 :(得分:1)

您将for i in stepsif声明混淆了。无论如何,它应该看起来像这样:

for i in steps:
    if i == "u": #here i isn't a int but a string!
        y -= pixels_per_move
    elif i == "r":
        x -= pixels_per_move

您可以添加print语句来打印x和y(可选)。