为什么出现“关键字不能是表达式”?
好的,我现在有一个作业(我正在上入门课程)。
作业要求写一个函数 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='')
# ^