如何縮短for
循環中的所有if
語句?我正在開發這個大學項目。我想不出一個辦法。如何縮短很多if語句? (Python 3.x)
基本上它應該做的事情是,如果板上的某個位置不等於一塊岩石,那麼將其設置爲植物。這些地點是工廠周圍的一個圓圈。例如:
N N N
N P N
N N N
if RainFall == 2:
print("This summer has been a perfect summer, the plants have multiplied.")
for Row in range(FIELDLENGTH):
for Column in range(FIELDWIDTH):
if Field[Row][Column] == PLANT:
if Field[Row + 1][Column] != ROCKS:
Field[Row + 1][Column] = GOODSUMMER
if Field[Row - 1][Column] != ROCKS:
Field[Row - 1][Column] = GOODSUMMER
if Field[Row + 1][Column + 1] != ROCKS:
Field[Row + 1][Column + 1] = GOODSUMMER
if Field[Row - 1][Column - 1] != ROCKS:
Field[Row - 1][Column - 1] = GOODSUMMER
if Field[Row][Column + 1] != ROCKS:
Field[Row][Column + 1] = GOODSUMMER
if Field[Row][Column - 1] != ROCKS:
Field[Row][Column - 1] = GOODSUMMER
if Field[Row + 1][Column + 1] != ROCKS:
Field[Row + 1][Column - 1] = GOODSUMMER
if Field[Row - 1][Column + 1] != ROCKS:
Field[Row - 1][Column + 1] = GOODSUMMER
break
很多方法。但是你想以一種能夠幫助你在以後開發它的方式推廣它。一個想法是有一個方法來評估一個正方形,併爲它周圍的所有方塊調用一次。像這種乞求面向對象編程的東西。 –
我不是一個Python人,但在OOP中,有這種情況的命令模式。挖後:http://stackoverflow.com/a/1494532/5058677 – Rumid