Python入門程序練習題-星號三角形

Python入門程序練習題-星號三角形

  • 題目來自BITmooc
  • 題目說明:
    讀入一個整數N,N是奇數,輸出由星號字符組成的等邊三角形,要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

第1行1個星號,第2行3個星號,第3行5個星號,依次類推,最後一行共N的星號。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

  • 代碼
# -*- coding: utf-8 -*-
"""
Created on Thu Oct 18 10:18:36 2018

@author: administrator
"""

def draw_star(numline,total):
    n=int(numline)
    t=int(total)
    blank=' '*int(((t-1)/2)-(n-1))
    #python3的/得到的是浮點數,//纔得到int
    #因此未加int時,報錯
    #TypeError: can't multiply sequence by non-int of type 'float'
    star='*'*(2*n-1)
    print('{}'.format(blank),end='')    #計算左半空格個數並打印,不換行
    print('{}'.format(star),end='')          #計算星星個數並打印
    print('{}'.format(blank))
    
def main():
    startotal=eval(input())
    line=int((startotal+1)/2)
    for i in range(line):
        draw_star(i+1,startotal)

main()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章