###### tags: `程式設計`
# 第七週
## All Pass 糖登記清單
:::danger
請大家記得登入
:::
:::info
範例
>樂事洋芋片 * 100 ((10 噸)卡車)
> * 10
>[name=李漢偉][time=Mon, Oct 21, 2019 10:23 AM]
>花雕雞麵 * 10(箱)
>炫泡閃亮亮 cherry 青軸機械式鍵盤 * 1
> *5
>[name=歐芷欣]
>彼女 *2 (手)
>[name=王為棟]
>可樂機
>
>[name=郭子緯]
>龍の卵
>アラジンのランプ
>悪魔の実
>賢者の石
>どらごんぼう
>ごくのしっぽ
>[name=林科佑]
:::
## 課堂練習-魔方陣
```python=
## 奇數魔方陣
def genMagic(n):
data = [[0 for j in range(n)]for i in range(n)]
# 目前位置為 上方中間
# 在目前位置填入 1
curX, curY, data[curY][curX] = n // 2, 0, 1
# 接下來由 2 到 n*n 依序填入
for v in range(2, n * n + 1) :
# 找到下一個位置
# 下一個位置是原來的右上方
nextX, nextY = (curX+1) % n, (curY-1) % n
# 如果下個位置有數字
if data[nextY][nextX] != 0 :
# 設定下個位置為現在位置的下方
nextX, nextY = curX, curY+1
# 填入數字
# 把現在的位置改成下一個位置
curX, curY, data[nextY][nextX] = nextX, nextY,v
# 傳回結果
return data
def main() :
# 輸入 n 表示方陣的大小
rel = genMagic(int(input()))
for row in rel:
print(*row)
# print((('{:3d}' * len(rel[0]) + '\n') * len(rel)).format(*[c for r in rel for c in r]))
if __name__ == '__main__' :
main()
```
## Recursion 遞迴
殼蟻寫了
:izakaya_lantern:
```python=
def A(m, n) :
n + 1 if m = 0
A(m-1,1) if m > 0 nad n = 0
A(m-1,A(m,n-1)) if m > 0 and n > 0
```