为什么出现“关键字不能是表达式”?

1 投票
4 回答
1538 浏览
提问于 2025-04-17 23:04

好的,我现在有一个作业(我正在上入门课程)。

作业要求写一个函数 make_x_table (r,c):,这个函数要创建一个乘法表,表格有 r 行和 c 列,每个单元格的值等于行数乘以列数,然后返回这个表格。

我为这个作业写了以下代码:

def make_x_table (r,c):    
    for rownum in range(1, r+1):
        for colnum in range(1, c+1):
            v = colnum*rownum
            print(str(v) + ' ' + end='')
        print ()

基本上,这就是我想要的一个例子:

make_x_table(3,4)
1 2 3 4
2 4 6 8
3 6 9 12

但是我总是收到一个错误提示,说“关键字不能是一个表达式”,并且它会把 str(v) 前面的括号标记出来。我不太明白为什么会出现这个错误。谁能帮帮我?

4 个回答

2
print(str(v) + ' ' + end='')
print(str(v) + ' ', end='')

可能应该是

2

我觉得这就是你想要的:

print(str(v) + ' ', end='')

你不是用 + 这个符号来指定 end,而是把它作为一个参数放在后面,用逗号隔开。

2

我想这段代码 print(str(v) + ' ' + end='') 应该改成 print(str(v) + ' ' + end + '')

2

这里的“end”是打印函数的一个关键字参数; Python 可能会因为你在

print(str(v) + ' ' + end='')
#                  ^ 

的打印函数中使用它而感到困惑。你可能想要做的是

print(str(v) + ' ', end='')
#                 ^ 

撰写回答