@rkfddf

Как провести конкатенацию в цикле for PYTHON?

Провожу конкатенацию в цикле
print(add_url)      # oborydovanie/
for i in range(1 , 10):
    add_pages.append('http://site.com/' + add_url + '?=' + str(i))
for a_pag in add_pages:
    print(a_pag)

И получаю результат в виде
http://site.com/?=1
http://site.com/?=2

А нужно http://site.com/oborydovanie/?=1, то есть переменная add_url теряет своё значение. Почему так происходит?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
1. Форматируйте код с указанием языка программирования.
2. Аккуртано работайте с отступами, иначе и себя запутаете и всех вокруг и работать будетнекорректно.
3. Приводите полный код, ччтобы не приходилось гадать что там за пределами ваших обрезков. Где присваивается add_url? Может там пусто вообще всегда было и ничего не теряет.
4. Читайте, блин, внимательно свой вопрос после написания! Вам что лень перечитать? Вот нам не лень ответить, а вам лень читать? Что за наглое неуважение к сообществу? Какая такая "add_ur"? Где она у вас в коде, блин?!
5. Используйте форматные строки для сборки таких вещей по шаблону. В них сложнее ошибиться и накосячить.

Резюмирую. Вы крайне невнимательно понадёргали строчек из кода, повставляли как попало, что-то пропустили, отступы поломали, что-то не увидели и теперь хотите, чтобы мы заварили кофе погуще и гадали что у вас там за пределами ваших примеров вы проглядели.

Замените
'http://site.com/' + add_url + '?=' + str(i)
на
f'http://site.com/{add_url}?={i}'
для третьего питона или для второго:
'http://site.com/{add_url}?={i}'.format(i=i, add_url=add_url)


Печатайте add_url прямо там, где поставляете и рядом печатайте результат подстановки. И вы увидите что у вас там не все гладко
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@barolina
turn coffee into code
ничего не теряется

add_url ='oborydovanie/'
add_pages = []
for i in range(1 , 10):
  add_pages.append('http://site.com/' + add_url + '?=' + str(i))
  for a_pag in add_pages:
      print(a_pag)

# Output:
# http://site.com/oborydovanie/?=1
Ответ написан
SoreMix
@SoreMix
yellow
Не так значит в коде у вас что-то. Не может переменная "потеряться"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
OnederX Москва
от 100 000 до 120 000 ₽
NatsON Москва
от 220 000 до 350 000 ₽
SwapZilla.co Москва
от 200 000 ₽
15 авг. 2020, в 05:23
5000 руб./за проект
15 авг. 2020, в 04:49
5000 руб./за проект
15 авг. 2020, в 04:41
2000 руб./за проект