I'm meant to make a multiplication table in python using nested loops. I had trouble formatting it to make a table and looked for answers online. I came across a solution:
uplim=int(input("What is the upper bound of the multiplication table? "))for row in range(1, uplim+1): print(*("{:3}".format(row*col) for col in range(1, uplim+1)))and this solution works and formats the printed table correctly. I wanted to know why it works, specifically - *("{:3}" - what is that part for and what does it do?
I originally attempted
for row in range(1, uplim+1):for col in range(1, uplim+1):print(row*col)
but it only printed one long column.
Additionally, my teacher's instructions say this:
NOTE: The format function can be used to align your output.For instance, see the example below. '6d' means width of the value is 6 digits and type 'd' means integer digit. '6,d' means 6 digit integer with a , for every third digit from the right.z = 1234print(f'{z: 6d}')' 1234'print(f'{z: 6,d}')' 1,234'
but I'm just not sure what to type in.