Python練習題 018:打印星號菱形


【Python練習題 018】 打印出如下圖案(菱形):

   *
  ***
 *****
*******
 *****
  ***
   *

----------------------------------------------

這題簡單啊,只要知道Python的內置方法 str.center(width [, fillchar]) 就能輕而易舉打印出來:str即是數量不等的星號,width即是最大寬度(7個空格),默認填充字符fillchar就是空格。兩個for循環搞定!代碼如下:

s = '*'
for i in range(1, 8, 2):
    print((s*i).center(7))
for i in reversed(range(1, 6, 2)):
    print((s*i).center(7))

輸出結果見題目。

 

【2016-10-17 更新】--------------------------------------------

當然,如果不用 str.center() 這題也不難解,無非是明確把空格的數量計算出來而已。代碼如下:

s = '*'
for i in range(1,8,2):
    t = (7-i)//2
    print(' '*t + s*i + ' '*t)
for i in reversed(range(1,6,2)):
    t = (7-i)//2
    print(' '*t + s*i + ' '*t)

 

++++++++++++++++++++++++++++++++++++++

題目出處:編程語言入門經典100例【Python版】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM