Method 1: Nested For Loops
for row in range(1, 10):
for col in range(1, row + 1):
print(f"{row}×{col}={row*col}", end='\t')
print()
Method 2: Nested While Loops
row = 1
while row <= 9:
col = 1
while col <= row:
print(f"{row}×{col}={row*col}", end='\t')
col += 1
print()
row += 1
Method 3: Mixeed While-To Loop
row = 1
while row <= 9:
for col in range(1, row + 1):
print(f"{row}×{col}={row*col}", end=' ')
print()
row += 1
Method 4: Mixed For-While Loop
for multiplier in range(1, 10):
multiplicand = 0
while multiplicand < multiplier:
multiplicand += 1
print(f"{multiplier}×{multiplicand}={multiplier*multiplicand}", end=' ')
print()
Method 5: Using a List Variable
digits = list(range(1, 10))
for row_val in digits:
col_val = 1
while col_val <= row_val:
print(f"{row_val}×{col_val}={row_val*col_val}", end='\t')
col_val += 1
print()
Method 6: Recursive Function
def generate_table(current_row):
if current_row > 9:
return
for col in range(1, current_row + 1):
print(f"{col}×{current_row}={col*current_row}", end='\t')
print()
generate_table(current_row + 1)
generate_table(1)
Method 7: Single-Line Implementation
print('\n'.join([' '.join([f"{col}×{row}={row*col}" for col in range(1, row + 1)]) for row in range(1, 10)]))