如果我运行这段代码:
x, y, z, n = (int(input() for i in range(4))
print ([[a,b,c] for a in range(0,x+1)
for b in range(0,y+1)
for c in range(0,z+1) if a + b + c != x])
我在打印语句(第 2 行)中收到语法错误,
但是如果我运行此代码:
x, y, z, n = int(input()), int(input()), int(input()), int(input())
print ([[a,b,c] for a in range(0,x+1)
for b in range(0,y+1)
for c in range(0,z+1) if a + b + c != n ])
它正在运行且没有错误。
无法理解语法缺少的内容,请帮助
您需要正确平衡第一行中的括号和方括号("违规"示例):
x, y, z, n = [int(input()) for i in range(4)]
这是一个列表理解,所以你需要把它放在 [] 中。此外,由于您希望x、y、z和n中的整数值,因此您正确使用了int()
构造函数,但未能在input()
之后关闭括号。
更正后,它可以正常工作。
希望这有帮助。