分享者: 何岳峰 Amon Ho
程式設計課程多在一年級下學期,所以應已面對過科系的專業問題,針對所學學科中需要試算表(Excel/Numbers/Spreadsheet/…)處理的作業,把它們改用程式語言( Online Python )解決
def snapshot(lol):
s = ''
for line in lol:
for elm in line:
s += str(elm) + ','
s += "\n"
return s
LoL = [
[0, 10, 20, 30],
[4, 0, 0, 0],
[14,0, 0, 0],
[24,0, 0, 0],
]
cal_before = ''
cal_after = snapshot(LoL)
while cal_before != cal_after:
cal_before = cal_after
for i in range(1, 4):
for j in range(1, 4):
_list = []
try: up = LoL[i-1][j]
except IndexError: pass
else: _list.append(up)
try: down = LoL[i+1][j]
except IndexError: pass
else: _list.append(down)
try: left = LoL[i][j-1]
except IndexError: pass
else: _list.append(left)
try: right = LoL[i][j+1]
except IndexError: pass
else: _list.append(right)
LoL[i][j] = 1. * sum(_list) / len(_list)
cal_after = snapshot(LoL)
print(cal_after)