Видимость переменной после if

Рейтинг: 0Ответов: 1Опубликовано: 27.07.2023

Помогите пожалуйста решить задачу.

info_9 = kont_info.find(class_="section__info_sl").get_text(strip=True)  
kont_info = soup.find_all(class_="blockInfo__section_sl section")[14]
info_7 = kont_info.find(class_="section__title_sl").get_text(strip=True)
if info_7 == "Телефон":
    info_71 = kont_info.find(class_="section__info_sl").get_text(strip=True)

При создании словаря переменная info_71 не определяется. Как я полагаю, переменная info_71 в дальнейшем не определяется из-за if-а. Не могли бы подсказать, как сделать так, чтобы переменная info_71 отображалась только при наличии в блоке info_7 слова "Телефон".

Ответы

▲ 0Принят

Из комментариев я сформировал для вас ответ. Используйте конструкцию in для поиска подстроки в строке.

info_9 = kont_info.find(class_="section__info_sl").get_text(strip=True)  
kont_info = soup.find_all(class_="blockInfo__section_sl section")[14]
info_7 = kont_info.find(class_="section__title_sl").get_text(strip=True)

if 'Телефон' in info_7: # вот здесь мы поменяли условие
    info_71 = kont_info.find(class_="section__info_sl").get_text(strip=True)

А для того, чтобы не было проблем с отсутствием переменной info_71, вы можете проинициализировать её заранее.

info_9 = kont_info.find(class_="section__info_sl").get_text(strip=True)  
kont_info = soup.find_all(class_="blockInfo__section_sl section")[14]
info_7 = kont_info.find(class_="section__title_sl").get_text(strip=True)
info_71 = '' # вот здесь мы задали переменную пустой строкой
if 'Телефон' in info_7: 
    info_71 = kont_info.find(class_="section__info_sl").get_text(strip=True)