2017-10-15 94 views
0

当我运行我的程序,发现号的逆置换,它返回我与后续的错误:Python程序语法错误:`

python inverse_permutation.py 1 2 3 4 5 
    File "inverse_permutation.py", line 18 
    else: 
    ^
SyntaxError: invalid syntax 

此前提出这个问题,我试图寻找类似的帖子,但无法找到解决我的具体问题。这里是我的代码:

import stdarray 
import stdio 
import sys 

q = input().split() 
for i in range(len(q)): 
    q[i] = int(q[i]) 
l = len(q) 
s = int((l*(l+1))/2-(l)) 
s2 = 0 
b = [0 for i in range(l)] 
for i in range(l): 
    s2 = s2+q[i] 
if(s == s2): 
    for i in range(l): 
     b[q[i]] = i 
print(b) 
else: 
    print('Not a permutation') 
+1

缩进打印(B) – Transhuman

+1

你忘了缩进'print'。 –

+1

VTC作为错字,因为它显然是OP意味着'print(b)'缩进。 –

回答

0

如果应遵循的人,但你已经把print语句if和else之间,你可以做这样的事情

import stdarray 
import stdio 
import sys 

q = input().split() 
for i in range(len(q)): 
    q[i] = int(q[i]) 
l = len(q) 
s = int((l*(l+1))/2-(l)) 
s2 = 0 
b = [0 for i in range(l)] 
for i in range(l): 
    s2 = s2+q[i] 
if(s == s2): 
    for i in range(l): 
     b[q[i]] = i 
else: 
    print('Not a permutation') 

print(b)