繁体   English   中英

我的 if 语句不断收到这个错误的输入错误

[英]I keep getting this bad input error for my if statement

我已经定义了所有内容,但是在此语句中仍然出现语法错误,知道我做错了什么吗? 代码截图1

#add collision
if (car.xcor() + 10 = dog.xcor() and car.ycor() + 10 = dog.ycor()):
  dog.clear()
else:
  pass

这里的关键是理解“=”运算符。

单个“=”是一个赋值 您正在为变量赋值。

x = 3
print(x)
>>>> 3

双“==”是一个比较 您正在比较两个对象。

3 == 3
>>>> True

在您的情况下,您正在尝试进行比较 我还没有看到你创建的类,但至少第一行应该改为:

if ((car.xcor()+10) == dog.xcor()) and ((car.ycor()+10) == dog.ycor()):

请注意,我使用了过多的括号,因为我相信它们更容易阅读。

我假设您正在尝试进行比较,对吗?

使用赋值运算符'==' 而不是简单的'='。 赋值运算符将评估您的条件,并且由于运算符输出布尔值(真或假),因此您的代码可以正常工作。

其次,还有缩进错误,我已经更正了。 检查代码中的缩进。 您可以使用“tab”键来调整缩进。 并且使用括号使您的代码更具可读性。

if (car.xcor() + 10 == dog.xcor()) and (car.ycor() + 10 == dog.ycor()):
    dog.clear()
else:
    pass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM