以不同的方式展示

时间:2014-10-17 16:07:27

标签: python-2.7 recursion

我想以不同的方式显示答案

def f(k,e) :
    if e==0 :
        return '*'
    return k*' '+'*'+e*' '+'*'+ f(k,e-1)

结果:

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

1 个答案:

答案 0 :(得分:0)

要添加换行符,您只需使用\n即可。但是,上面的代码仍然不会像指示的那样创建ASCII“V”。

这是一个可能更接近你正在尝试的例子:

#create an ASCII 'V' with the indicated character and number of lines
def buildV(lineCount, char):
    lines = []
    currentLine = 1
    while currentLine <= lineCount:
        indent = currentLine * ' '
        if currentLine < lineCount:
            gap = ((lineCount - currentLine) * 2 - 1) * ' '
            lines.append(indent + char + gap + char)
        else:
            lines.append(indent + char)
        currentLine += 1
    return '\n'.join(lines)

#examples
print(buildV(9, 'V'))
print(buildV(6, '#'))
print(buildV(2, '*'))

输出:

 V               V
  V             V
   V           V
    V         V
     V       V
      V     V
       V   V
        V V
         V
 #         #
  #       #
   #     #
    #   #
     # #
      #
 * *
  *