Print a square graph and dot based on co-ordinates I've written a simple script, that takes a 0, 0 style co-ordinate input, following the pattern of:
$$0 \le n \le 9$$
Tacked onto the end of the output program, is a simple script that runs through all iterations of 0,0 - 9, 9.
Below is a gif of that.



Note: This code DOES not map multiple, I am not asking how you can map multiple, I am asking for suggestions on my working code.

import os
import time    


def plot_point(x, y):
    os.system('cls') if os.name == 'nt' else os.system('clear')
    print 'Printing', x, y # Turned on for single use, off for mass use
    row_with_entry = ''
    rows = []
    for i in range(x):
        rows.append([i, '|_' * 10 + '|'])

    for i in range(y):
        row_with_entry += '|_'

    row_with_entry += '|*|'

    for i in range(y, 9):
        row_with_entry += '_|'

    rows.append([x, row_with_entry])

    for i in range(int(x), 9):
        rows.append([i, '|_' * 10 + '|'])

    for i in rows:
        print i[1]

    time.sleep(.05) # Just for purpose of demonstration

for i in range(9, 0, -1):
    for k in range(9, 0, -1):
        if i == 1:
            if k == 1:
                plot_point(i, k)
                plot_point(i, k - 1)
                for n in range(9, 0, -1):
                    plot_point(0, n - 1)
                plot_point(0, 0)
            else:
                plot_point(i, k)
        else:
            plot_point(i, k)
            plot_point(i, k - 1)
I only looked at the plot_point function, but I would suggest using an alternative approach - first create a board full of _ and then set the correct cell to a * and finally print out the whole board. This is much shorter and more "pythonic" than iterating like you are currently doing (which is rather C like).

def plot_point(x, y):
    os.system('cls') if os.name == 'nt' else os.system('clear')
    print 'Printing', x, y # Turned on for single use, off for mass use

    # Create a board of 10 x 10 underscores
    board = [['_' for col in range(10)] for row in range(10)]

    # Set the appropriate cell to a *
    board[x][y] = '*'

    # Create a string with a | seperating each element for each row
    # Print out all these rows with newlines in between
    print '\n'.join(['|' + '|'.join(row) + '|' for row in board])

    time.sleep(.05) # Just for purpose of demonstration


We use list comprehensions to make our code a lot shorter (and still very readable). The one-line print statement may be considered a little bit hard to read, in which case you can consider splitting it up a bit.

for row in board:
    print '|' + '|'.join(row) + '|'


But I think that the comprehension is fine.