Найти - Пользователи
Полная версия: Не могу понять в чем ошибка.
Начало » Центр помощи » Не могу понять в чем ошибка.
1
Vlad_Ki
Добрый день. Написал программу которая с помощью модуля random собирает предложения по кускам из списков. Программа полностью работает до того, как я вставляю обработку исключения NameError в последний блок кода. Ошибку пишет следующую:
  File "./ex_3.py", line 34
    
                     ^
SyntaxError: unexpected EOF while parsing
Причем линия 34 это пустая, последняя линия. Там ничего не написано. Переводчик сказал что это “неожиданный конец файла во время разбора”? но что неожиданного в пустой строке я не знаю.)
Прошу помощи. Заранее спасибо.
#!/usr/bin/env python3
import random
import sys
# собвственно списки
a = ["Товарищи!", "C другой стороны", "Равным образом", "Не следует, однако, забывать, что",
     "Таким образом", "Повседневная практика показывает, что"]
b = ["реализация намеченных плановых заданий", "рамки и место обучения кадров", "постоянный количественный рост и сфера нашей активности",
     "сложившаяся структура организации", "новая модель организационной деятельности", "дальнейшее развитие различных форм деятельности"]
c = ["играет важную роль в формировании", "требуют от нас анализа", "требуют определения и уточнения", "способствует подготовке и реализации",
     "обеспечивает широкому кругу специалистов участие в формировании", "помогает выполнить важные задания по разработке"]
d = ["существенных финансовых и административных условий", "дальнейших направлений развития", "системы массового участия",
     "позиций, занимаемых участниками в отношении поставленных задач", "новых предложений", "направлений прогрессивного развития"]
# тут он проверяет есть ли аргумент
# и если нет то задает количество предложений = 5
x = 0
try:
    if len(sys.argv) < 2:
        y = 5
    else:
        y = int(sys.argv[1])
except ValueError:
    print("Введите число!")
# выводит заданное количество предложений но не больше 10
try:
    while x < y:
        if y > 10:
            print("Максимальное число аргумента = 10")
            break
        A = random.choice(a)
        B = random.choice(b)
        C = random.choice(c)
        D = random.choice(d)
        print(A, B, C, D)
        x += 1
except NameError:
FishHook
except NameError:
этим программа не может кончиться.
Вот тут же вы правильно сделали
except ValueError:
    print("Введите число!")

Если нечем завершить инструкцию пишите pass
Vlad_Ki
Спасибо огромное!) Я думал он просто обработает исключение для того что бы сообщение ошибки не выскочило и закончит программу.)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB