: Multiplication Table in Python
Summary
This week's lab is to create a simple multiplication table using nested loops and if statements.
Prompt the user for the size of the multiplication table (from 2x2 to 10x10). Use a validation loop to display a warning if the number is less than 2 or greater than 10 and prompt the user to enter the data again until they enter a valid number.
Put a # after any even number in your table (odd numbers will have just a space/nothing after them).
Deliverables
· A source code Python file.
· A Word document containing both source code and the screen print of the program outputs.
Lab Steps
Sample Output:
The output should be something similar to the following.
What size multiplication table would you like? (2 - 10): 1
Invalid entry - Enter a number between 2 and 10
What size multiplication table would you like? (2 - 10): 15
Invalid entry - Enter a number between 2 and 10
What size multiplication table would you like? (2 - 10): 10
--- Multiplication Table ( 10 x 10 ) ---
1 2 3 4 5 6 7 8 9 10
---------------------------------------------------------------------------
1 | 1 2 # 3 4 # 5 6 # 7 8 # 9 10 #
2 | 2 # 4 # 6 # 8 # 10 # 12 # 14 # 16 # 18 # 20 #
3 | 3 6 # 9 12 # 15 18 # 21 24 # 27 30 #
4 | 4 # 8 # 12 # 16 # 20 # 24 # 28 # 32 # 36 # 40 #
5 | 5 10 # 15 20 # 25 30 # 35 40 # 45 50 #
6 | 6 # 12 # 18 # 24 # 30 # 36 # 42 # 48 # 54 # 60 #
7 | 7 14 # 21 28 # 35 42 # 49 56 # 63 70 #
8 | 8 # 16 # 24 # 32 # 40 # 48 # 56 # 64 # 72 # 80 #
9 | 9 18 # 27 36 # 45 54 # 63 72 # 81 90 #
10 | 10 # 20 # 30 # 40 # 50 # 60 # 70 # 80 # 90 # 100 #
|
Hints:
· The outer loop will start each new row.
· The inner loop will control the display of each column in the row.
· Note that to keep the numbers right-aligned, there are different amounts of space before single digit numbers (those less than 10), double digit numbers (those between 10-99), and triple digit numbers (100).
· The row labels can be added to your inner loop (note that there are different amounts of space required after the number in the row labels.
· The column labels should use a separate loop(s) that run before the main outer loop.
· You can continue printing on the same line using end="" in your print statement. This will come in handy if you want to print several things on one line inside a loop. For example, assuming the value of name is Ada, the following will print "Hello Ada" on one line:
print("hello ", end="")
print(name, end="")
Tips:
· Start early!
· Do the basic table first without worrying about spacing or lining things up, and don't include row or column headings (add those later).
· Once you get the numbers in the correct position, think about adding the proper amount of space before each number to line things up.
· Once the columns line up, add the #/space for even/odd numbers.
· Once the basic table is working, then add the row and column headings, and finally the main title.
· Test as you go!