使用PrettyTable,我可以编写一个函数来获取输入并将它们添加到表中,这样我就不必连续重复了吗?

时间:2017-04-18 20:18:15

标签: python python-2.x prettytable

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

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

1 个答案:

答案 0 :(得分:1)

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)

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

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