I already wrote this exercise in C where I was able to output a well formatted table with the help of printf(%2i) and printf(%3i).
How do I add spaces in Python in front of the numbers to make it look better?
#! python3
# 007.py - Write a program that prints a multiplication table for numbers up to 12.
print('----------------------------------------')
print('Multiplication Table from 1 - 12')
print('----------------------------------------')
print(' 1 2 3 4 5 6 7 8 9 10 11 12')
print('----------------------------------------')
for i in range(1, 13):
if i > 1:
print('\n', end="")
print(' ' + str(i) + ' |', end="")
result = i
for n in range(1, 13):
result = i * n
print(' ' + str(result), end="")
print('\n')
print('----------------------------------------')
Output:
----------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12
----------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10 11 12
2 | 2 4 6 8 10 12 14 16 18 20 22 24
3 | 3 6 9 12 15 18 21 24 27 30 33 36
4 | 4 8 12 16 20 24 28 32 36 40 44 48
5 | 5 10 15 20 25 30 35 40 45 50 55 60
6 | 6 12 18 24 30 36 42 48 54 60 66 72
7 | 7 14 21 28 35 42 49 56 63 70 77 84
8 | 8 16 24 32 40 48 56 64 72 80 88 96
9 | 9 18 27 36 45 54 63 72 81 90 99 108
10 | 10 20 30 40 50 60 70 80 90 100 110
11 | 11 22 33 44 55 66 77 88 99 110 121
12 | 12 24 36 48 60 72 84 96 108 120 132
C Code:
/**
* Write a program that prints a multiplication table
* for numbers up to 12.
* 15.12.2016
*/
#include <stdio.h>
int main(void)
{
int result;
printf ("-----------------------------------------------------\n");
printf ("\tMultiplication Table from 1 - 12\n");
printf ("-----------------------------------------------------\n");
printf (" 1 2 3 4 5 6 7 8 9 10 11 12\n");
printf ("-----------------------------------------------------\n");
for (int i = 1; i <= 12; ++i)
{
if (i > 1)
{
printf ("\n");
}
printf (" %2i | ", i);
result = i;
for (int n = 1; n <= 12; ++n)
{
result = i * n;
printf ("%3i ", result);
}
}
printf ("\n");
printf ("-----------------------------------------------------\n");
return 0;
}
Output:
Multiplication Table from 1 - 12
-----------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12
-----------------------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10 11 12
2 | 2 4 6 8 10 12 14 16 18 20 22 24
3 | 3 6 9 12 15 18 21 24 27 30 33 36
4 | 4 8 12 16 20 24 28 32 36 40 44 48
5 | 5 10 15 20 25 30 35 40 45 50 55 60
6 | 6 12 18 24 30 36 42 48 54 60 66 72
7 | 7 14 21 28 35 42 49 56 63 70 77 84
8 | 8 16 24 32 40 48 56 64 72 80 88 96
9 | 9 18 27 36 45 54 63 72 81 90 99 108
10 | 10 20 30 40 50 60 70 80 90 100 110 120
11 | 11 22 33 44 55 66 77 88 99 110 121 132
12 | 12 24 36 48 60 72 84 96 108 120 132 144
-----------------------------------------------------