Python:政治家

2024-04-23 17:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用Python做一个项目,在服务器(socket)上有一个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”/行时,它会将“boatIsAt”更改为“right”,但当我再次尝试调用“R”/行时,它应该从右向左,它会再次向右。你知道吗

任何帮助都将不胜感激。你知道吗


Tags: and项目right服务器dataifsomesocket
2条回答

解决了。你知道吗

找出我做错了什么。 我把boatIsAt=“left”放在一个while循环中:

while 1:
    boatIsAt = "left"

每次我对服务器执行命令时,它都会回到左边。把它放在while语句的外面/上面修复了它。你知道吗

你总是

boatIsAt = "left"

开始时是无条件的,因此输入第一个elif,并且boatIsAt设置为"right"。你知道吗

相关问题 更多 >