如何缩短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