python缩进,语法错误:无效语法
请问我的python代码有什么问题,它总是报告文件lake.py,第28行SyntaxError:invalid syntax`。我想知道,是括号吗?或者是什么原因导致了错误,我将非常感谢您的帮助谢谢python缩进,语法错误:无效语法,python,Python,请问我的python代码有什么问题,它总是报告文件lake.py,第28行SyntaxError:invalid syntax`。我想知道,是括号吗?或者是什么原因导致了错误,我将非常感谢您的帮助谢谢 def count(m, n): if(n < m): temp = n n = m m = temp return m * (m + 1) * (2 * m + 1) / 6 + (n - m) * m * (m + 1)
def count(m, n):
if(n < m):
temp = n
n = m
m = temp
return m * (m + 1) * (2 * m + 1) / 6 + (n - m) * m * (m + 1) / 2
arr = []
arr2 = []
foo = 100
n = foo
if (n == 1):
print('1')
print('1 1')
else:
for m in range(n):
n=(((6 * foo) - (m * (m + 1) * (2 * m + 1))) / (3 * ((m * m) + m))) + m
if (count(m, n) == foo and m <= n):
arr.append(''+str(int(m))+' ' + str(int(n))+'')
if(m != n):
arr2.append(''+str(int(n)+' ' + str(int(m)+'')
arr = arr + arr2
arrLength = len(arr)
print(arrLength)
for g in range(arrLength):
print(arr[g])
您的括号似乎不合适 arr2.追加+strintn+“”+strintm+ 应该是 arr2.第25行中的append+strintn+''+strintm+将'arr2.append+strintn+''+strintm+'更改为arr2.append+strintn+''+strintm+'+ 注意:运行代码后,我看到一个错误
n=(((6 * foo) - (m * (m + 1) * (2 * m + 1))) / (3 * ((m * m) + m))) + m
ZeroDivisionError: division by zero
这是因为在第13行中使用foo=100,然后在rangen中的m之后使用n=foo:循环将以0开始
所以m现在是零!而且
n=(((6 * foo) - (m * (m + 1) * (2 * m + 1))) / (3 * ((m * m) + m))) + m
您的程序将抛出异常
因此,要修复此部件,您可以将rangen中的m改为:
发布的代码中似乎没有第34行。arr2.append+strintn+''+strintm+有五个左括号,三个右括号。很抱歉,文件lake.py,第28行将更新代码。此代码中没有一个是python。你不需要一个临时变量来交换,也不应该在一个范围内迭代。总的来说是的,但实际上不是!它应该更改为arr2.append+strintn+''+strintm+,因为arr2.append+strintn+''+strintm+将获得TypeError TypeError:不支持+:'int'和'str'的操作数类型
for m in range(1 ,n):