Search code examples
printingpython-3.xconsole-output

How to print on the same line in a loop?


I am trying to print results on the same line for a card game, here is the desired output I want:

desired output

Here is what I get:

actual ouput

Here is my code:

  for List in tableau:
        print
        print ("Row", Row, ":", end="")
        print
        Row += 1
        for x in List:
            print (x, end="")

I'm using Python 3, thanks.


Solution

  • You need to call print as a function in Python 3:

    for List in tableau:
          print()  # Right here
          print ("Row", Row, ":", end="")
    
          Row += 1
          for x in List:
              print (x, end="")
    

    Look at the difference in the output between Python 2 and Python 3:

    Python 2:

    >>> print
    
    >>>
    

    Python 3:

    >>> print
    <built-in function print>
    >>> print()
    
    >>>
    

    A slightly more compact way of doing it would be like this:

    for index, row in enumerate(tableau, start=1):
        print('Row {index} : {row}'.format(index=index, row=' '.join(row)))