2016-09-29 2 views
0

Привет, поэтому я действительно новичок в Python, и у меня есть небольшой вопрос.Получение SyntaxError в try: except (python)

В моем коде:

from collections import Counter 

попробовать: в то время как правда:

name1 = input ("your name") 
list(name1) 
name1len = len(name1) 

name2 = input ("other one's name") 
list(name2) 
name2len = len(name2) 

if name1len > 10: 
    print ("name is too long") 
    break 
if name2len > 10: 
    print ("name is too long") 
    break 
a1 = (name1[0][0]) 
a2 = (name2[0][0]) 
if set(a1) & set(a1) == set(a2): 
    print ("ok") 
else: 
    print ("none") 

a3 = (name1[1][0]) 
a4 = (name2[1][0]) 
if set(a3) & set(a3) == set(a4): 
    print ("ok") 
else: 
    print ("none") 

a5 = (name1[2][0]) 
a6 = (name2[2][0]) 
if set(a5) & set(a5) == set(a6): 
    print ("ok") 
else: 
    print ("none") 
a7 = (name1[3][0]) 
a8 = (name2[3][0]) 
if set(a7) & set(a7) == set(a8): 
    print ("ok") 
else: 
    print ("none") 

a9 = (name1[4][0]) 
a10 = (name2[4][0]) 
if set(a9) & set(a9) == set(a10): 
    print ("ok") 
else: 
    print ("none") 
a11 = (name1[5][0]) 
a12 = (name2[5][0]) 
if set(a11) & set(a11) == set(a12): 
    print ("ok") 
else: 
    print ("none") 
a13 = (name1[6][0]) 
a14 = (name2[6][0]) 
if set(a13) & set(a13) == set(a14): 
    print ("ok") 
else: 
    print ("none") 
a15 = (name1[7][0]) 
a16 = (name2[7][0]) 
if set(a15) & set(a15) == set(a16): 
    print ("ok") 
else: 
    print ("none") 
a17 = (name1[8][0]) 
a18 = (name2[8][0]) 
if set(a17) & set(a18) == set(a19): 
    print ("ok") 
else: 
    print ("none") 
a19 = (name1[9][0]) 
a20 = (name2[9][0]) 
if set(a19) & set(a19) == set(a20): 
    print ("ok") 
else: 
    print ("none") 
a21 = (name1[10][0]) 
a22 = (name2[10][0]) 
if set(a21) & set(a21) == set(a22): 
    print ("ok") 
else: 
    print ("none") 

    except (IndexError): 
    pass 

и в конце концов, в самом низу, он продолжает давать мне эту ошибку:

файла "dr.luvtest.py", строка 106 кроме (IndexError): ^ Синтаксис: недействительный синтаксис

Заранее благодарим!

+0

Пожалуйста, [edit], чтобы убедиться, что ваш отступ правилен. –

+2

'except' должен находиться на том же уровне отступов, что и' try'. –

+0

Также, что этот код должен делать? Сравните разницу между двумя строками? 'name1 [0] [0]' такой же, как 'name1 [0]', потому что это первый символ строки –

ответ

0

Для того, чтобы использовать функции try & except, вам понадобится эта первая часть, try. В вашем коде нет try:, поэтому except вызывает проблемы.

Однако каждый раз, когда я пытаюсь исправить одну проблему, появляется другая. Однако Python даже не запускает ваш код, если синтаксис неверен.

Для того, чтобы исправить ошибку синтаксиса,

Изменить

else: 
    print ("none") 

except IndexError: 
    pass 

Для

обернуть все это в try заявлении, то except будет поймать IndexError

+0

Эй, спасибо, это действительно помогло, и теперь код работает! Это было с отступом в конце. Также в начале я ставил ** попробовать: ** на строке 2, а затем на новую строку, а затем на отступ, а затем положил **, пока True: **! Огромное спасибо! – Timtim

Смежные вопросы