繁体   English   中英

Python:If 语句

[英]Python: If-statement

我目前正在用 Python 做一个项目,我在服务器(套接字)上有一个 if 语句(elif),它从客户端接收命令。

我对 if 语句有一些问题,如果需要,它应该更改“boatIsAt”值。

代码是:

#Initial state of the boat
boatIsAt = "left"

#Some code..

if data == "Q" and chickenIsAt == "left":
    data = "chicken"
    chickenIsAt = "boatLeft"

# Some other elif-statements..

elif data == "R" and boatIsAt == "left":
    data = "Row"
    boatIsAt = "right"

elif data == "R" and boatIsAt == "right":
    data = "Row"
    boatIsAt = "left"`

问题是,当我第一次调用“R”/row 时,它会将“boatIsAt”更改为“right”,但是当我再次尝试调用“R”/row 时,它应该从右到左,它再次向右移动。

任何帮助将不胜感激。

你总是设置

boatIsAt = "left"

在开始时无条件地输入,因此您输入了第一个elif并且将boatIsAt设置为"right"

解决了。

弄清楚我做错了什么。 我已将boatIsAt = "left" 放在while 循环中:

while 1:
    boatIsAt = "left"

这使得每次我向服务器运行命令时它都会回到左边。 将它放在 while 语句的外面/上面修复了它。

暂无
暂无

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

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