Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.09.2022
Сообщений: 25

Что пошло не так с моей переменной?

26.09.2022, 10:45. Показов 1094. Ответов 4

Студворк — интернет-сервис помощи студентам
Парсил сайт со списком городов для игры в города. Получил список(строку) городов от А до Я (Ю) и поместил его в переменную data, а после создал переменную data_2 в которой использовал метод split на переменную data
теперь, делаю основную часть программы, чтобы она называла город на ту букву на которую заканчивается город, который назвал я. Однако что-то пошло не так, и переменная data_2 вместо того чтобы принимать все буквы, и ту букву которую я обозначил в коде(ниже) принимает только букву Ю, которая следуя за кодом является последней буквой.
Что делать? Как это решить? Верно ли решение, которое использовал я?
код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from bs4 import BeautifulSoup as soup
import requests as rq
from random import choice
def letter_range(start, stop):
    for c in range(ord(start), ord(stop)):
        yield chr(c)
for x in letter_range('А','Я'):
    headers = {'заголовок'}
    r = rq.get(f'https://geo.koltyrin.ru/spisok_gorodov_mira.php?letter={x}',headers=headers)
    if x == ('Ъ'):
        continue
    elif x == ('Ь'):
        continue
    s = soup(r.text,'lxml')
    data = s.find('p',class_='bg_white').text
    data_2 = data.split()
f = input('\n')
if f.endswith('в'):
    res = list(filter(lambda x: x.startswith('В'),data_2))
    print(res)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2022, 10:45
Ответы с готовыми решениями:

Что-то пошло не так
Есть 3 массива. Первый - содержит строки файла. Второй - Ник-Нейм. Третий - Число. Необходимо сложить числа у одинаковых ник-неймов. Вроде...

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

Что то пошло не так
Доброго времени суток. Собрал компьютер с такой конфигурацией: Материнская плата : MSI H110M PRO-D Процессор : Intel Pentium G4560 ...

4
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.09.2022, 10:58
Лучший ответ Сообщение было отмечено kakaobob как решение

Решение

Каждую итерацию цикла ты ее перезаписываешь и получается, что в ней остается информация только с последней итерации. Надо каждый раз в data_2 добавлять data.split().
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from bs4 import BeautifulSoup as soup
import requests as rq
from random import choice
def letter_range(start, stop):
    for c in range(ord(start), ord(stop)):
        yield chr(c)
data_2 = []
for x in letter_range('А','Я'):
    if x in ('ЪЬ'):
        continue
    r = rq.get(f'https://geo.koltyrin.ru/spisok_gorodov_mira.php?letter={x}')
    s = soup(r.text,'lxml')
    data = s.find('p',class_='bg_white').text
    data_2.extend(data.split())
print(data_2)
f = input('\n')
if f.endswith('в'):
    res = list(filter(lambda x: x.startswith('В'),data_2))
    print(res)
Добавлено через 4 минуты
Еще у тебя цикл работает от А до Я не включительно, поэтому на Я городов не будет.
2
0 / 0 / 0
Регистрация: 26.09.2022
Сообщений: 25
26.09.2022, 11:06  [ТС]
Спасибо большое, про букву Я знаю, позже исправлю, спасибо, помогло
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.09.2022, 11:07
Лучший ответ Сообщение было отмечено kakaobob как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from bs4 import BeautifulSoup as soup
import requests as rq
from random import choice
 
 
# def letter_range(start, stop):
#     for c in range(ord(start), ord(stop)+1):
#         yield chr(c)
# или
data_2 = []
for x in 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ':
    if x in ('ЁЪЬ'):
        continue
    r = rq.get(f'https://geo.koltyrin.ru/spisok_gorodov_mira.php?letter={x}')
    if r:
        s = soup(r.text,'lxml')
        data = s.find('p',class_='bg_white').text
        data_2.extend(data.split())
f = input('\n')
if f.endswith('в'):
    res = list(filter(lambda x: x.startswith('В'),data_2))
    print(res)
2
0 / 0 / 0
Регистрация: 26.09.2022
Сообщений: 25
26.09.2022, 11:10  [ТС]
За это тоже спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2022, 11:10
Помогаю со студенческими работами здесь

что-то пошло не так
Помогите пожалуйста, after слипит не время до выполнения функции, а главное окно. import os from tkinter import* root=Tk() ...

Что-то пошло не так
дано n найти все перестановки я вроде написал, но что то не работает плиз помогите найти ошибку )_/\_ _/\_ #include <stdio.h> ...

Что-то пошло не так?
Такая ситуация есть из файла функций вызываю файл. Файл функций лежит в Test/app/func/func.php. Вызываю тот который лежит в...

Что-то пошло не так
Всем доброго времени суток. Случилась такая беда: частенько при работе с тырнетом приходится переключаться по нескольку раз между...

Что-то пошло не так(
Подскажите пожалуйста! На странице регистрации, появилась надпись "На указанный в форме e-mail придет запрос на подтверждение...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru