I started working with a 2-dimensional array in Python with my students today. We first covered a basic table on paper with the letters of the alphabet populating the cells so they could read index coordinates.

We then moved to the problem. On the first day of this assignment, we worked to create an 11 X 4 table that holds information of the teams that formed the FIRST Tech Challenge El Dorado League of North Texas for the 2017/2018 Relic Recovery season.

26-February-2018 – Matrix Day 1 Data – Sheet1

This is a visual representation of the data we worked with today.

w = 4 h = 11 teams = [[0 for x in range(w)] for y in range(h)]

Here, we declared an integer variable named “w” and another named “h” and assigned the values 4 and 11 respectively. This represents the width and height of the array we are building.

On line 3, we create the array named teams and using a nested for loop, create the array that is 4 columns wide and 11 rows tall. The table is currently populated with zeros.

teams[0][0] = "127" teams[1][0] = "5443" teams[2][0] = "9402" teams[3][0] = "9403" teams[4][0] = "10143" teams[5][0] = "11085" teams[6][0] = "11242" teams[7][0] = "12645" teams[8][0] = "12650" teams[9][0] = "12992" teams[10][0] = "13915"

These lines are populating column 0 (first column) of the array with the team numbers of the 11 different FTC teams in the league. Please note that it only goes up to 10 since we start counting at 0.

teams[0][1] = "The Fighting Pickles" teams[1][1] = "Synergy" teams[2][1] = "Hive of Steel" teams[3][1] = "CyberSwarm" teams[4][1] = "Bit & Bots" teams[5][1] = "Mad Hackers" teams[6][1] = "ERROR 451" teams[7][1] = "S.C.R.E.W. Ups" teams[8][1] = "Cannot Compute" teams[9][1] = "Vindicators" teams[10][1] = "Eagles Robotics"

These lines are populating column 1 (second column) of the array with the team names.

teams[0][2] = "Ben Barber Innovation Academy" teams[1][2] = "Harmony School of Innovation" teams[2][2] = "Henderson Junior High School" teams[3][2] = "Henderson Junior High School" teams[4][2] = "Harmony School of Innovation" teams[5][2] = "Mansfield High School" teams[6][2] = "Ferris High School" teams[7][2] = "Ferris High School" teams[8][2] = "Ferris Junior High School" teams[9][2] = "Italy High School" teams[10}[2] = "Faith Family Academy"

These lines are populating column 2 (third column) of the array with the schools each team represents.

teams[0][3] = "Mansfield, TX" teams[1][3] = "Ft. Worth, TX" teams[2][3] = "Stephenville, TX" teams[3][3] = "Stephenville, TX" teams[4][3] = "Ft. Worth, TX" teams[5][3] = "Mansfield, TX" teams[6][3] = "Ferris, TX" teams[7][3] = "Ferris, TX" teams[8][3] = "Ferris, TX" teams[9][3] = "Italy, TX" teams[10][3] = "Waxahachie, TX"

These lines are populating column 3 (fourth column) of the array with the hometowns of each team.

print(teams[0]) print(teams[1]) print(teams[2]) print(teams[3]) print(teams[4]) print(teams[5]) print(teams[6]) print(teams[7]) print(teams[8]) print(teams[9]) print(teams[10])

These lines will print each of the 11 rows on a separate line. There is no formatting, so the output will look similar to the following:

Python 3.6.1 (default, Dec 2015, 13:05:11) [GCC 4.8.2] on linux ['127', 'The Fighting Pickles', 'Ben Barber Innovation Academy', 'Mansfield, TX'] ['5443', 'Synergy', 'Harmony School of Innovation', 'Ft. Worth, TX'] ['9402', 'Hive of Steel', 'Henderson Junior High School', 'Stephenville, TX'] ['9403', 'CyberSwarm', 'Henderson Junior High School', 'Stephenville, TX'] ['10143', 'Bits & Bots', 'Harmony School of Innovation', 'Ft. Worth, TX'] ['11085', 'Mad Hackers', 'Mansfield High School', 'Mansfield, TX'] ['11242', 'ERROR 451', 'Ferris High School', 'Ferris, TX'] ['12645', 'S.C.R.E.W. Ups', 'Ferris High School', 'Ferris, TX'] ['12650', 'Cannot Compute', 'Ferris Junior High School', 'Ferris, TX'] ['12992', 'Vindicators', 'Italy High School', 'Italy, TX'] ['13915', 'Eagles Robotics', 'Faith Family Academy', 'Waxahachie, TX']

In the next class, we’ll discuss how to display an individual index and use concatenation to format a better output. We’ll then move into adding additional data to the existing array for each team that will involve basic math.