天天看點

python 編寫一個能輸出指定寬度、多行多列方格的自定義函數MattsGenerating

老師布置的作業,本來是想用遞歸寫的,但是遞歸有點翻車了。

就用循環寫了,以後要是有很好的遞歸想法,我就寫出來,先上循環代碼。

python 編寫一個能輸出指定寬度、多行多列方格的自定義函數MattsGenerating

就是先列印第一行,再開始下面那些行數,挺簡單的一題。

都是有規律的嘛。

def under(n,c):
    print("十",end="")
    while c>0:
        c-=1
        for i in range(n):
            print("一",end="")
        print("十",end="")

def MattsGenerating(n,r,c):  #邊長,行數,列數  # 十一一丨丨
    for k in range(r):
        a = c
        for i in range(c):
            print("十", end="")
            for j in range(n):
                print("一",end="")
        print("十",end="")
        print("")
        for k1 in range(c):
            for q in range(n):
                print("丨",end="")
                for k2 in range(n):
                    print("  ",end="")
            print("丨",end="")
            print("")
    under(n, c)


print("請輸入這個形狀的邊長:",end="")
n=int(input())
print("請輸入這個形狀的行數:",end="")
r=int(input())
print("請輸入這個形狀的列數:",end="")
c=int(input())
print("你想要的形狀如下:")
MattsGenerating(n,r,c)
print("")
print("圖形列印完成了")
      

然後的呢我的遞歸想法就是碰到 十 就分别從右邊和下邊列印出一

不過還沒有實作出來,可能過幾天才想的出來。

畢竟當初c語言的遞歸學的不透徹,很慘。