python - 格式正确的乘法表

标签 python string algorithm python-3.x formatting

如何制作一个整齐的乘法表?我当前的代码是:

n=int(input('Please enter a positive integer between 1 and 15: '))
for row in range(1,n+1):
    for col in range(1,n+1):
        print(row*col)
    print()

这正确地将所有内容相乘,但以列表形式显示。我知道我需要正确地嵌套它并留出空间,但我不确定它在哪里?

最佳答案

快速方式(不过可能水平空间太大):

n=int(input('Please enter a positive integer between 1 and 15: '))
for row in range(1,n+1):
    for col in range(1,n+1):
        print(row*col, end="\t")
    print()

更好的方法:

n=int(input('Please enter a positive integer between 1 and 15: '))
for row in range(1,n+1):
    print(*("{:3}".format(row*col) for col in range(1, n+1)))

并使用 f-strings (Python3.6+)

for row in range(1, n + 1):
    print(*(f"{row*col:3}" for col in range(1, n + 1)))

关于python - 格式正确的乘法表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415384/

相关文章:

python - Plotly:如何在绘图中添加垂直线?

python - 模块名称中的前导下划线

c - scanf()读取自己的输入和后面scanf()的输入

c# - 文本与代码比率的良好算法?

python - 附加数据文件(.csv、.json)作为要在 Dataflow 上使用的安装包的一部分

python - Pandas:如何在不使用 scikit 的情况下进行交叉验证?

c++ - 将数据字符串标记为结构 vector ?

c++ - 如何使用 ZMQ 发送字符串结构

algorithm - 在一组 100 万个数字中找到一个唯一数字的有效算法是什么?

algorithm - 带时间戳的编辑/编辑距离 - 具有相似(最小)成本的不同路径