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