Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686

Создание строковой переменной

31.12.2021, 14:45. Показов 1341. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Всех с наступающим Новым годом!!!
Надо получить такие строки
Code
1
2
3
4
js-XFUniqueId9
js-XFUniqueId11
*************
js-XFUniqueId47
Попробовал таким способом. Не получается. Ошибка. Прошу помощи. Как написать правильно код?

Python
1
2
3
4
    for i in range(1, 20):
        js - XFUniqueId = str('js-XFUniqueId' + [7 + 2 * i])
        name = " ".join(soup.find('a', id='js - XFUniqueId').text.split())
        print(name)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.12.2021, 14:45
Ответы с готовыми решениями:

Определить длину каждой строковой переменной
Создать две строковые переменные (символьные массивы), содержащие ваше имя и фамилию. Выполнить с ними с помощью строковых функций...

Составить функцию замены одной строковой конструкции другой строковой конструкцией.
Дана такая задача: Составить функцию замены одной строковой конструкции другой строковой конструкцией. Метод должен работать по аналогии...

Использовать значение строковой переменной как имя новой переменной
Есть некий объект (ob = ) и строка (st ="name"). Так вот нужно, чтобы name стало именем объекта ob. То есть >>>name ...

11
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.12.2021, 15:19
Лучший ответ Сообщение было отмечено vlad56 как решение

Решение

Python
1
2
3
for i in range(1, 20):
        s = f'js-XFUniqueId{7 + 2 * i}'
        print(s)
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
31.12.2021, 15:35  [ТС]
Написал такой код.
Python
1
2
3
4
 for i in range(1, 20):
         s = f'js-XFUniqueId{7 + 2 * i}'     
        name = " ".join(soup.find('a', id={s)}.text.split())
        print(name)
Ошибка
Code
1
2
3
4
5
6
File "C:\Program Files\JetBrains\PyCharm Community Edition 2021.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/user/openpage/mainn.py", line 12
    name = " ".join(soup.find('a', id={s}.text.split())
                                                       ^
IndentationError: unindent does not match any outer indentation level
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.12.2021, 15:37
Скобки посчитай
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
31.12.2021, 16:05  [ТС]
Получил такой код.
Python
1
2
3
4
5
6
7
def get_data():
    soup = BeautifulSoup(open("index_selenium.html", encoding="utf8"), "lxml")
    for i in range(1, 20):
        s = f'js-XFUniqueId{7 + 2 * i}'
        print(s)
        name = " ".join(soup.find('a', id={s}).text).split()
        print(name)
Цикл for прекратил циклить после первого цикла. Получил одно значение js-XFUniqueId9. Программа кончила работу.
текст name прошёл только split(). join не сработал. Получил такое название
Code
1
2
3
4
['П', 'о', 'д', 'у', 'ш', 'к', 'и', '-', 'о', 'б', 'н', 'и', 'м', 'а', 'ш', 'к', 'и', 'Т', 'и', 'г', 'р', 'и', 'С', 'н', 'е', 'г', 'о', 'в', 'и', 'к', '(', 'Д', 'в', 'а', 'ж', 'д', 'ы', 'м', 'а', 'м', 'а', ')']
А нужно получить вот это название
[CODE]
Подушки-обнимашки Тигр и Снеговик (Дважды мама)
Прошу помощи.
[/CODE]

Добавлено через 2 минуты
Название поправил. Сейчас название правильно. Цикл не работает.

Добавлено через 1 минуту
Сейчас такой код
Python
1
2
3
4
5
6
7
8
9
def get_data():
    soup = BeautifulSoup(open("index_selenium.html", encoding="utf8"), "lxml")
    for i in range(1, 20):
        s = f'js-XFUniqueId{7 + 2 * i}'
        print(s)
        name = " ".join((soup.find('a', id={s}).text).split())
        print(name)
 
        return name
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.12.2021, 16:08
Цитата Сообщение от vlad56
id={s}
Тут скобки зачем?
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
31.12.2021, 16:10  [ТС]
Спасибо. Скобки убрал. Цикл не работает.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.12.2021, 16:17
Лучший ответ Сообщение было отмечено vlad56 как решение

Решение

Цикл не может не работать. Суп у тебя не находит ничего

Добавлено через 1 минуту
Японский кардиограф.
return в цикле. Ебстественно одна итерация прлходит
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
31.12.2021, 16:21  [ТС]
А как убрать его из цикла? Делал смещение вниз и влево. Не помогло. Прошу помощи.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
31.12.2021, 16:25
код не весь, как
Цитата Сообщение от vlad56 Посмотреть сообщение
get_data
запускается?
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.12.2021, 16:27
vlad56, что ты хочешь получить в итоге?
Создай перед циклом пустой список. На каждой итерации добавляй в него полученный name. После цикла возвращай список.
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
31.12.2021, 17:30  [ТС]
Сделал так. Получил все названия со страницы. Огромное спасибо за помощь.
Ещё раз всех с Новым годом!!!
Счастья, радости желаю,
Не стареть, а молодеть,
Душу рюмочкой согреть
По одной за Новый год,
По второй за весь народ,
За себя и за друзей,
За родных и всех людей!
Python
1
2
3
4
5
6
7
8
9
10
11
def main():
    soup = BeautifulSoup(open("index_selenium.html", encoding="utf8"), "lxml")
    for i in range(1, 21):
        s = f'js-XFUniqueId{7 + 2 * i}'
        print(s)
        name = " ".join((soup.find('a', id=s).text).split())
        print(name)
 
 
if __name__ == '__main__':
    main()
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.12.2021, 17:30
Помогаю со студенческими работами здесь

Передача строковой переменной в np.array
есть строковая переменная со значением my = "~obr0.isnull(), ~obr1.isnull(), ~obr2.isnull(), ~obr3.isnull(), ~obr4.isnull()" ...

Посчитать результат выражения, содержащегося в строковой переменной
Нужно посчитать результат выражения, содержащегося в строковой переменной. (Только целые числа, так что нет надобности в float) ...

При подстановке строковой переменной вместо строки возникает ошибка
Рабочая версия: import subprocess import os import sys subprocess.call("dir/b c:\\*.* ", shell=True) Не рабочая...

Создание экземпляра класса, имя класса находиться в строковой переменной
Подскажите люди добрые, как можно выйти из такой ситуации, вот допустим имеются классы class new1{ . . . } class new2{ . . ...

Как получить/установить значение переменной по названию (название берется из строковой переменной)
собственно сабж


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru