这个python代码有什么问题-SyntaxError?
每当我输入这段代码时,我总是会遇到一个错误(我是一个PythonNoob,所以我可能遗漏了一些明显的东西)这个python代码有什么问题-SyntaxError?,python,Python,每当我输入这段代码时,我总是会遇到一个错误(我是一个PythonNoob,所以我可能遗漏了一些明显的东西) 前一行缺少右括号: buffer = str(expadd(1000, 1000) 您的代码缩进也不正确(expadd函数的主体应该缩进),但由于错误的位置,我认为这只是因为复制/粘贴了它。除了语法错误之外,还有一个逻辑错误: while ((num and exp) != (1001)): 将始终为True,因为0和1与1001不同(num和exp)检查num和exp是否均为True
前一行缺少右括号:
buffer = str(expadd(1000, 1000)
您的代码缩进也不正确(expadd函数的主体应该缩进),但由于错误的位置,我认为这只是因为复制/粘贴了它。除了语法错误之外,还有一个逻辑错误:
while ((num and exp) != (1001)):
将始终为True
,因为0
和1
与1001
不同(num和exp)
检查num
和exp
是否均为True
ish(对于数字,如果它们不是0
,则为这种情况)。这将导致1
(True
)或0
(False
),两者都不同于1001
然后,@interjay正确地指出,您应该使用if
,而不是while
你可能是说
if (num != 1001) and (exp != 1001):
(括号不是必需的,我只是为了清楚起见添加了它们)
另外,^
是二进制的xor
,而不是幂运算。这就是**
运算符:
>>> 2^4
6
>>> 2**4
16
缩进在python中很重要。请确保您发布的内容与代码完全匹配。在____;:返回__;时执行
也有问题,因为它与if
块的效果相同。
>>> 2^4
6
>>> 2**4
16