2016-10-17 64 views
0

所以我想繪製一個簡單的圖案,兩種分開。它應該看的方式是:我怎樣才能清理這個模式繪圖代碼?

**........* 
*.*.......* 
*..*......* 
*...*.....* 
.........* 
........* 
.......* 
......* 

截至目前,我有底部完成,但它是不是很乾淨的話,那是非常笨重,必須有一個方法來平滑它並且讓它更快,更簡潔,對於最上面的部分,我仍然需要弄清楚如何添加*的移動,我有一些想法,但他們都失敗了哈哈。

所以我有什麼作爲的,現在是:

x = 8 
while x > 4: 
    for c in range(0,1): 
     print('*', end='') 
     for r in range(0,10): 
      print('.', end='') 
     print('*') 
     x = x-1 

這是頂部截至目前,它的工作原理來獲得*的週期的兩側,我的底部但是實在是混亂和我只是覺得,必須有一種方法,使人們能夠更快:

while x == 4: 
    for c in range(0,9): 
     print('.', end='') 
    print('*') 
    x = x-1 
    while x == 3: 
     for c in range(0,8): 
      print('.', end='') 
     print('*') 
     x = x-1 
     while x == 2: 

它一直持續這樣直到 而X == 1: ,那就是,但有什麼辦法來壓縮編碼成更快的事情,以及我如何着手添加* goi在頂部4排上並排擺放?我並不是要求每個人都有答案,除了底部 - 只是一個正確的方向,我更願意學習,而不是僅僅給出答案。

回答

0
'.'*6 

意味着 ......(點六倍),所以不是

for c in range(0,9): 
    print('.', end='') 

只是做

print('.'*9,end='')