美文网首页
用Python画棱形

用Python画棱形

作者: Michael_lllll | 来源:发表于2018-10-22 12:35 被阅读0次

    定义一个函数画棱形

    def diamond(height):
        """Return a string resembling a diamond of specified height (measured in lines).
        height must be an even integer.
        """
        L=[]
        line=''
        s='/'
        bs='\\'
        for i in range(1,int(height/2+1)):
            a=line.rjust(i,s).ljust(i*2,bs).center(height)
            L.append(a)
        for j in range(int(height/2),0,-1):
            b=line.rjust(int(j),bs).ljust(j*2,s).center(height)
            L.append(b)
        for item in L:
            line+=item+'\n'
        return line
    
    def diamond(height):
        s = ''
        # The characters currently being used to build the left and right half of 
        # the diamond, respectively. (We need to escape the backslash with another
        # backslash so Python knows we mean a literal "\" character.)
        l, r = '/', '\\'
        # The "radius" of the diamond (used in lots of calculations)
        rad = height // 2
        for row in range(height):
            # The first time we pass the halfway mark, swap the left and right characters
            if row == rad:
                l, r = r, l
            if row < rad:
                # For the first row, use one left character and one right. For
                # the second row, use two of each, and so on...
                nchars = row+1
            else:
                # Until we go past the midpoint. Then we start counting back down to 1.
                nchars = height - row
            left = (l * nchars).rjust(rad)
            right = (r * nchars).ljust(rad)
            s += left + right + '\n'
        # Trim the last newline - we want every line to end with a newline character
        # *except* the last
        return s[:-1]
    

    相关文章

      网友评论

          本文标题:用Python画棱形

          本文链接:https://www.haomeiwen.com/subject/jktgzftx.html