Python';如果';语句-如果在[string]==';字符串';——不工作?

Python';如果';语句-如果在[string]==';字符串';——不工作?,python,if-statement,Python,If Statement,我想在给定的字符串中找到一个字母。以下是我得到的: if i in steps == 'u': y -= pixels_per_move elif i in [steps] == 'r': x -= pixels_per_move 步骤是随机生成的字符串,由u、d、r、l组成。 所以它有点像“uuurludd” 所以我只是在“步骤”中查找这些字母,但根据上面的代码,我得到了错误 TypeError:“in”需要字符串作为左操作数,而不是int 我不明白这一点,因为steps不

我想在给定的字符串中找到一个字母。以下是我得到的:

 if i in steps == 'u':
    y -= pixels_per_move
elif i in [steps] == 'r':
    x -= pixels_per_move
步骤是随机生成的字符串,由u、d、r、l组成。 所以它有点像“uuurludd”

所以我只是在“步骤”中查找这些字母,但根据上面的代码,我得到了错误

TypeError:“in”需要字符串作为左操作数,而不是int


我不明白这一点,因为steps不是int,我尝试在多个位置将str()放在它的周围,但出现了相同的错误。这里我做错了什么?

它说的是
I
是一个int。您正在测试
I
是否在
步骤中,这是一个字符串。我认为您要做的最可能的事情是,获取
字符,在这种情况下,如果步骤[I]=“u”:

在步骤
中,将I的
if
语句混淆。无论如何,它应该是这样的:

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(可选)。

i步骤=='u'
-您在那里到底想做什么?这根本不是
中的
=
的工作方式。当错误消息谈到
的左操作数时,为什么要查看
步骤?