Ваш код уже выполняет большую часть работы, он печатает 2d матрицу таблицы умножения за период, указанный пользователем, вы пропускаете только часть заголовков, которая может быть добавлена следующим образом
def nested_loop(start, end):
# printing the top header
print('', end='\t')
for i in range(start, end + 1):
print(i, end='\t')
print('')
for i in range(start, end + 1):
print(i, end='\t') # printing the running column alongside the matrix
for j in range(start, end + 1):
print(i * j, end='\t')
print('')
def get_value(label):
print("Enter " + label + " value:")
value = int(input())
return value
def main():
start = get_value("starting")
end = get_value("ending")
nested_loop(start, end)
main()
Используя данные типа 3, 10
, программа печатает:
3 4 5 6 7 8 9 10
3 9 12 15 18 21 24 27 30
4 12 16 20 24 28 32 36 40
5 15 20 25 30 35 40 45 50
6 18 24 30 36 42 48 54 60
7 21 28 35 42 49 56 63 70
8 24 32 40 48 56 64 72 80
9 27 36 45 54 63 72 81 90
10 30 40 50 60 70 80 90 100