【发布时间】:2017-03-09 15:46:10
【问题描述】:
如何缩短 for 循环中的所有 if 语句?我正在为一个大学项目开发这个。我想不出办法。
基本上它应该做的事情是,如果板上的某个位置不等于岩石,则将其设置为植物。这些位置是围绕植物的一个圆圈。示例:
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 中,有针对这种情况的命令模式。挖完:stackoverflow.com/a/1494532/5058677
标签: python-3.x