1. 程式人生 > >利用Y-組合子改寫python函式

利用Y-組合子改寫python函式

Y-組合子是個啥東西以後再說。
現在給出兩個函式,但是他們有相同的輸出。

def print_grid(x_cell,y_cell,length):
    s = "+"+("-"*(length-2)+"+")*x_cell
    k = ("|"+(" "*(length-2)+"|")*x_cell+"\n")*(length-2)+s
    if y_cell==0: return print(s)
    print_grid(x_cell,y_cell-1,length)
    print(k)
length = 6
x_cell = 3
y_cell = 4
(lambda x_cell: (lambda length: (lambda f: (lambda y: (f(f)(y-1),print(("|"+(" "*(length-2)+"|")*x_cell+"\n")*(length-2)+"+"+("-"*(length-2)+"+")*x_cell)) if y>0 else print( ("+"+("-"*(length-2)+"+")*x_cell) )))((lambda f: (lambda y: (f(f)(y-1),print(("|"+(" "*(length-2)+"|")*x_cell+"\n")*(length
-2)+"+"+("-"*(length-2)+"+")*x_cell )) if y>0 else print(("+"+("-"*(length-2)+"+")*x_cell)))))))(x_cell)(length)(y_cell)