Отступы похожи на фигурные скобки, если вы знакомы с ними всякий раз, когда вы объявляете блок, такой как if else
for
loops class
определением или function
определением, он ожидает найти уровень отступа, который является пробелом или табуляцией того же уровня отступаобрабатывать его как один блок. Если вы хотите вложенный блок, вы делаете это следующим образом:
def myfunction(arg): #one block
for x in range(0,arg): #indents at starting
if x==1:#another block
print('one')#more indents for nesting
, поэтому в вашем коде
def convert(input):
if isinstance(input, dict):
for key, value in input.iteritems():
temp = {convert(key):convert(value)}
return temp
elif isinstance(input, list):
for element in input:
temp1 = [convert(element)]
return temp1 #here it expects to be in same indent level temp1 = [convert(element)] is at
elif isinstance(input, unicode):
return input.encode('utf-8')
else:
#return input
print input
, который фиксируется в ответе, заданном @ Andronicus