Python 连续数乘法表
输出应该如下所示。它是一个9行乘以12列的乘法表(技术上是13) 第一列宽10个字符,左对齐。所有其他列都有五个字符宽,并右对齐 到目前为止,这是我的代码,但我正在尝试将乘法表的格式设置为与其他所有内容在同一行中 我不允许使用任何外部模块,如itertools或functoolsPython 连续数乘法表,python,for-loop,jupyter-notebook,formatting,multiple-columns,Python,For Loop,Jupyter Notebook,Formatting,Multiple Columns,输出应该如下所示。它是一个9行乘以12列的乘法表(技术上是13) 第一列宽10个字符,左对齐。所有其他列都有五个字符宽,并右对齐 到目前为止,这是我的代码,但我正在尝试将乘法表的格式设置为与其他所有内容在同一行中 我不允许使用任何外部模块,如itertools或functools print(f"{'Column':<10s}", end = '\t'), for x in range(1,13): print(f"{x:5}", end='') print(
print(f"{'Column':<10s}", end = '\t'),
for x in range(1,13):
print(f"{x:5}", end='')
print(f"{'Column':<10s}", end = '\t'),
for x in range(1,13):
print(f"{x:>5}", end='')
print()
for x in range(1,10):
print('Row',f'{x:<10}')
for row in range (1, 10):
for col in range(1,13):
print(f'{row*col:>5}', end="\t")
cols上的循环应嵌套在行中的循环中
for x in range(1,10):
print('Row',f'{x:<10}', end="\t")
for col in range(1,13):
print(f'{row*col:>5}', end="\t")
范围(1,10)内x的:
打印('Row',f'{x:5}',end=“\t”)
最好这样做:
for row in range(1,10):
print('Row',f'{row:<10}', end="\t")
print(*[str(row*col) for col in range(1,13)], sep = "\t", end="\n")
用于范围(1,10)中的行:
打印('Row',f'{Row:以获得@jumifiki的答案,如果您不理解列表前面的*
(实际上我也不理解),您可以使用join
方法:
for row in range(1,10):
print('Row',f'{row:<10}', end="\t\t")
print('\t\t'.join([str(row*col) for col in range(1,13)]), end="\n")
或者,一行:
print(f"{'Column':<12} \t\t", '\t\t'.join(map(str, range(1, 13))))
print(f“{'Column”:非常感谢!做什么呢?\t\t
制作两个选项卡-\t
制作一个选项卡(我在您自己的回答中也使用了这些选项卡)。此外,如果这回答了您的问题,请接受它!谢谢!它的作用是什么?从某种意义上说,*转换参数序列中的列表,反之亦然。这是该语言的一个相当标准的功能,允许您管理不同数量的命名和未命名参数,例如在打印(*largs,**dargs)
中。
for row in range(1,10):
print(f'Row {row:<10} \t\t', '\t\t'.join([str(row*col) for col in range(1,13)]), end="\n")
print('\n'.join([f'Row {row:<10} \t\t ' + '\t\t'.join([str(row*col) for col in range(1,13)]) for row in range(1, 10)]))
print(f"{'Column':<12} ", end='\t\t ') # Use <12 becuse we have 2 more characters than each row label.
for c in range(1, 13):
print(c, end="\t\t")
print()
print(f"{'Column':<12} \t\t", '\t\t'.join(map(str, range(1, 13))))
print(f"{'Column':<12} \t\t", '\t\t'.join(map(str, range(1, 13))) + '\n' + '\n'.join([f'Row {row:<10} \t\t ' + '\t\t'.join([str(row*col) for col in range(1,13)]) for row in range(1, 10)]))