Python:如何基于两个输入打印乘法表?

2024-09-27 02:25:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图编写一个名为multChart(x,y)的程序,它根据两个输入打印乘法表,一个指定要打印的行数,另一个指定列数。所以看起来是这样的:

>>> multChart(4,5):
1: 1 2 3 4 5
2: 2 4 6 8 10
3: 3 6 9 12 15
4: 4 8 12 16 20

以下是我当前的代码:

def multChart(x,y):
    for i in range(1,x+1):
        print(i,':',i*1,i*2,i*3,i*4,i*5)

我完全被困在如何实现y值上。我也知道应该有一种更好的方法来打印乘法,而不是五的I*倍数,但我不确定该使用什么循环。任何帮助都将不胜感激


Tags: 方法代码in程序fordefrangeprint
3条回答

print内需要另一个循环,以便在y范围内循环:

def multChart(x, y):
    for i in range(1, x+1):
        print(i, ':', *[i * z for z in range(1, y+1)])
def multChart(x,y):
    for i in range(1,x+1):
        print(i, ':', end=" ")
        for j in range(1,y+1):
            print(i*j, end =" ")
        print()

multChart(4,5)

产生

1 : 1 2 3 4 5
2 : 2 4 6 8 10
3 : 3 6 9 12 15
4 : 4 8 12 16 20

可以对第二个索引使用第二个for循环。另外,请注意,您可以在print语句中使用end


def multChart(x,y):
    for i in range(1,x+1):
        print(i,':',*list(map(lambda y: i*y,list(range(1,y+1 ) ) ) ) )
multChart(4,5)

相关问题 更多 >

    热门问题