Combine output in python after break

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jane Janey
    New Member
    • Apr 2013
    • 4

    Combine output in python after break

    I want to combine two of my print statement so that it has no gap in between. How do I remove gap after break? This is my code:

    Code:
    alpha1 = 'a'
        n = 6 
        while alpha1:
           n -= 1
           print "%-*s" % (10, alpha1*n) + "%*s" % (10, alpha1*n)
           if n < 0:
                break
        m = 0
        while alpha1:
           m += 1
           print "%-*s" % (10, alpha1*m) + "%*s" % (10, alpha1*m)
           if m > 4:
                break
    The out put will be:

    Code:
        aaaaa          aaaaa
        aaaa            aaaa
        aaa              aaa
        aa                aa
        a                  a
    
        a                  a
        aa                aa
        aaa              aaa
        aaaa            aaaa
        aaaaa          aaaaa
    How do I remove the gap so that the output will be like this?

    Code:
        aaaaa          aaaaa
        aaaa            aaaa
        aaa              aaa
        aa                aa
        a                  a
        aa                aa
        aaa              aaa
        aaaa            aaaa
        aaaaa          aaaaa
  • bvdet
    Recognized Expert Specialist
    • Oct 2006
    • 2851

    #2
    You need only change two of the numbers.
    Code:
    alpha1 = 'a'
    n = 6 
    while True:
       n -= 1
       print "%-*s" % (10, alpha1*n) + "%*s" % (10, alpha1*n)
       if n < 2:
            break
    m = 1
    while True:
       m += 1
       print "%-*s" % (10, alpha1*m) + "%*s" % (10, alpha1*m)
       if m > 4:
            break
    Output:
    Code:
    >>> aaaaa          aaaaa
    aaaa            aaaa
    aaa              aaa
    aa                aa
    a                  a
    aa                aa
    aaa              aaa
    aaaa            aaaa
    aaaaa          aaaaa
    >>>

    Comment

    • bvdet
      Recognized Expert Specialist
      • Oct 2006
      • 2851

      #3
      Here's a version I like better:
      Code:
      letter = "a"
      no_letters = 5
      output = []
      for i in range(no_letters, 1, -1):
          output.append("%-*s%*s" % (10, letter*i, 10, letter*i))
      for i in range(1, no_letters+1):
          output.append("%-*s%*s" % (10, letter*i, 10, letter*i))
      print "\n".join(output)

      Comment

      Working...