Contents
- mystery.py
- tictactoe.py
- twod_exercises.py
mystery.py 1/3
[top][prev][next]
# Practice with 2D lists
# by Sara Sprenkle
def main():
matrix = createMatrix()
print("Before:")
print(matrix)
mystery(matrix)
print("After:")
print(matrix)
def mystery(a):
""" "run" this on A, at right """
for row in range( len(a) ):
for col in range( len(a[0]) ):
if row == col:
a[row][col] = 42
else:
a[row][col] += 1
def createMatrix():
a0 = list(range(1,5))
a1 = list(range(5,9))
a2 = list(range(9,13))
a = []
a.append(a0)
a.append(a1)
a.append(a2)
return a
main()
tictactoe.py 2/3
[top][prev][next]
# Practice using 2D lists using Tic-Tac-Toe
# by Sara Sprenkle
def main():
board = createBoard()
print("Original Board:")
displayBoard(board)
print()
print("X goes to 1, 1:")
pickPos(board, 1, 1, "x")
displayBoard(board)
print()
print("O goes to 0, 2:")
pickPos(board, 0, 2, "o")
displayBoard(board)
def createBoard():
board = []
for row in range(3):
row = []
for col in range(3):
row.append(" ")
board.append(row)
return board
def displayBoard(board):
""" Display the tic-tac-toe board in a nice way """
for row in range(2):
for col in range(2):
print("%1s |" % board[row][col], end=' ')
print("%1s" % board[row][2])
print("-"*9)
for col in range(2):
print("%1s |" % board[2][col], end=' ')
print("%1s" % board[2][2])
def pickPos(board, row, col, symbol):
# Should handle that position is already taken
board[row][col] = symbol
main()
twod_exercises.py 3/3
[top][prev][next]
# Practice with 2D Lists
# Sara Sprenkle
def main():
rows = int(input("How many rows? "))
columns = int(input("How many columns? "))
print()
print("Correct Matrix Creation:")
print('-'*30)
matrix = create2DList(rows, columns)
print(matrix)
print("\nAssigning matrix[1][2]=3")
matrix[1][2] = 3
print("Result: ")
print(matrix)
print()
print("*"*55)
print("Incorrect Matrix Creation:")
print('-'*30)
matrix = noCreate2DList(rows, columns)
print(matrix)
print("\nAssigning matrix[1][2]=3")
print("Result: ")
matrix[1][2] = 3
print(matrix)
def create2DList(rows, cols):
"""Returns a two-dimensional list filled with 0s that is 'rows' tall and
'cols' wide."""
twodlist = []
for row in range(rows):
row = []
for col in range(cols):
row.append(0)
twodlist.append(row)
return twodlist
def noCreate2DList(rows, cols):
"""Does not create a 2D list because each 'row' points to the same point in
memory."""
twodlist = []
onerow = []
for col in range(cols):
onerow.append(0)
for row in range(rows):
twodlist.append(onerow)
return twodlist
main()
Generated by GNU enscript 1.6.4.