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()

你可能感兴趣的:(Python入门程序练习题)