簡體   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