使用 PrettyTable,我可以编写一个函数来接收输入并将它们添加到 table 中,这样我就不必不断地重复自己吗?

Using PrettyTable, Can I write a function that will take inputs and add them into a table so I don't have to continuously repeat myself?

我做了一个乘法 table,但我不得不手动输入代码以添加到我的 table。我想写一个为我做的循环,这样乘法 table 就可以继续,只要我也告诉它。现在它仅限于我愿意编写代码的次数。

lista = []
def mult(z):
    d = 0
    while d < 10:
        c = z * d
        lista.append(c)
        d += 1

x = input("What number?")
mult(x)


table = PrettyTable(["Number", "*", "Equals"])
table.add_row([x, 0, lista[0]])
table.add_row([x, 1, lista[1]])
table.add_row([x, 2, lista[2]])
table.add_row([x, 3, lista[3]])
table.add_row([x, 4, lista[4]])
table.add_row([x, 5, lista[5]])
table.add_row([x, 6, lista[6]])
table.add_row([x, 7, lista[7]])
table.add_row([x, 8, lista[8]])
table.add_row([x, 9, lista[9]])

print table
from prettytable import PrettyTable

def mult_table(num, lastmult):
    lista = []
    table = PrettyTable(['Number', '*', 'Equals'])

    for i in range(lastmult + 1):
        c = num * i
        lista.append(c)
        table.add_row([num, i, c])

    print(table)

num = int(input('What Number?:'))
lastmult = int(input('Multiply by one to what number?:'))

mult_table(num, lastmult)

(此代码使用 python3)

这样,它会根据需要生成任意长度的多个 table。 此代码使用 for 循环而不是 while。

如果您想从另一个数字开始,只需将该数字传递给 range() 函数的第一个参数即可。