我正在尝试在给定字符串中找到一个字母。这就是我得到的:
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(),但会发生同样的错误。我在这里做错了什么?
答案 0 :(得分:1)
它的含义是i
是一个int。您正在测试i
steps
是否为字符串。我认为您尝试做的最有可能的事情是获取ith
的{{1}}字符,在这种情况下您应该使用steps
答案 1 :(得分:1)
您将for i in steps
与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(可选)。