2013-05-11 2 views
-1

У меня есть функция, которая будет вставлять пробелы в кортеж строк, чтобы все строки были равны в len. У меня также есть функция, которая принимает наборы строк и некоторое форматирование информации и combinde их один кортеж строкSyntaxError: недопустимый синтаксис (Python 3.2)

#code for equal string length 
def insertSpace(self,content): 
    max = 0 
    for string in content: 
     temp = len(string) 
     if temp > max: 
      max=temp 
    retstring = ("",) 
    for string in content: 
     retstring = retstring + (" "*(max - len(string)+1,) 

    return self.combine(retstring,content,bold=False,newline=False) 


#code for combine 
def combine(self,leftside,rightside,bold=False,newline=False): 

    if bold is True: 
     bold = '<B>' 
     boldend = '</B>' 
    else: 
     bold = '' 
     boldend = '' 

    if newline is True: 
     newlinechar = '<br>' 
    else: 
     newlinechar = '' 
    return tuple((bold +"{0}"+boldend+"{1}"+newlinechar).format(x,y) for x,y in zip(leftside,rightside)) 

выполнения этого результаты сценария в этом

File "mypythonfile.py", line 108 
return self.combine(retstring,content,bold=False,newline=False) 
    ^
SyntaxError: invalid syntax 

Я попытался хранением значение в переменной, но ничего не изменилось. Вероятно, что-то простое, но я не вижу этого.

+0

Обнаружена ошибка в моем коде 'retstring = (" ",)' должно быть 'retstring =()' – Mattias

+0

Вы можете отредактировать свой вопрос. – andlrc

ответ

1

Вы пропустили закрытие ) на этой линии:

retstring = retstring + ("&nbsp;"*(max - len(string)+1,)) 
                 ^
                 | 

Edit: В коде:

>>> 'retstring = retstring + ("&nbsp;"*(max - len(string)+1,)'.count("(") 
3 
>>> 'retstring = retstring + ("&nbsp;"*(max - len(string)+1,)'.count(")") 
2 
+1

Я собирался написать свой ответ, но вы слишком быстро на Python :) .. Так добавил в ваш ответ –

+0

Спасибо, я знаю, что это было что-то простое. – Mattias

0

Ammend

retstring = retstring + ("&nbsp;"*(max - len(string)+1,) 

Чтобы быть

retstring = retstring + ("&nbsp;"*(max - len(string)+1,)) #note the closing bracket