Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
44 / 31 / 13
Регистрация: 19.12.2022
Сообщений: 107

Найти третье число в файле по сумме первых двух

26.06.2023, 20:28. Показов 878. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Простая задача, но у меня что-то в ней не так, и я дико ломаю голову...
В начале файла in.txt содержатся два целых числа. Если сложить их, то вы получите позицию в файле, начиная с которой находится третье число, которое вам нужно вывести в выходной файл out.txt.

Формат входных данных
Входной файл с текстом.

Формат выходных данных
Требуется вывести одно число в выходной файл.

Пример входных данных:
6 6 blah xqq79521
Пример выходных:
79521

Мой код не до конца работает
Python
1
2
3
4
5
6
7
8
9
10
with open('in.txt', 'r') as input_file:
    line = input_file.readline().strip()  
    numbers = line.split()  
    first_number = int(numbers[0])  
    second_number = int(numbers[1])  
    sum_numbers = first_number + second_number
    third_number = int(line[sum_numbers:sum_numbers+3])
 
with open('out.txt', 'w') as output_file:
    output_file.write(str(third_number))
Не проходит на трех тестах, со следующими входными данными:
1ый пример: 0 0 (валится с ошибкой)
2ой пример: 6 6 blah xqq79521 (выводит 795 вместо 79521)
3ый пример: 20 0 asdfghjk lzxcv 5 bnm (валится с ошибкой)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2023, 20:28
Ответы с готовыми решениями:

Равен ли остаток от деления суммы двух чисел на третье сумме остатков от деления на третье число первого и второго
Вводится 3 целых числа . Определить, равен ли остаток от деления суммы первых двух чисел на третье число сумме остатков от деления на...

Проверить, является ли третье число произведением первых двух (Паскаль -> КуМир)
Привет всем. Помогите пожалуйста перевести код с паскаля на кумир. 1 Задача: var a,b,c:longint; begin read(a,b,c); if...

Найти числа где сумма двух первых цифр = сумме двух вторых
на интервале от 1000 до 9999 (включительно) найти все простие числа сума двух первих цифр = сумме двух вторих.

3
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
26.06.2023, 20:53
Python
1
2
3
4
5
6
7
8
9
num = "6 6 blah xqq79521"
n = len(num)
first_number, second_number, *_ = num.split(maxsplit=2)
sum_numbers = int(first_number) + int(second_number)
third_number = ''
while sum_numbers < n and num[sum_numbers].isdigit():
    third_number += num[sum_numbers]
    sum_numbers += 1
print(third_number)
3
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
27.06.2023, 04:07
Ну или так:

Python
1
2
3
s = '6 6 blah xqq79521'
A, B, *_ = s.split()
print(int(max([s[int(A) + int(B):i] for i in range(len(s)) if s[i].isdigit()])))
3
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
27.06.2023, 08:17
Цитата Сообщение от RockSun Посмотреть сообщение
Если сложить их, то вы получите позицию в файле
если номер позиции имеет значение, то:
Цитата Сообщение от RockSun Посмотреть сообщение
.strip()
вполне может нарушить порядок нумерации.
Это первое.
Второе:
Цитата Сообщение от RockSun Посмотреть сообщение
1ый пример: 0 0 (валится с ошибкой)
если в строке между числами пробел, то здесь:
Цитата Сообщение от RockSun Посмотреть сообщение
int(line[sum_numbers:sum_numbers+3])
получается выражение:
Python
1
int(line[0:3])
то есть, по сути: int('0 0'), а пробел не является символом, который можно приводить к типу int
далее:
Цитата Сообщение от RockSun Посмотреть сообщение
2ой пример: 6 6 blah xqq79521 (выводит 795 вместо 79521)
опять же, в Вашем коде указано:
Цитата Сообщение от RockSun Посмотреть сообщение
line[sum_numbers:sum_numbers+3]
вот и получаете три символа... эту конструкцию необходимо заменить на перебор строки с полученной позиции и проверять каждый символ методом isdigit до получения False.
Цитата Сообщение от RockSun Посмотреть сообщение
3ый пример: 20 0 asdfghjk lzxcv 5 bnm (валится с ошибкой)
здесь то же самое, вы получаете 3 символа от позиции 20, а это: '5 b' и это не те символы, которые можно приводить к типу int.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2023, 08:17
Помогаю со студенческими работами здесь

Среди чисел найти все, у которых сумма первых двух равна сумме последних двух
Помогите пожалуйста решить задание: среди четырехзначных чисел из интервала, заданного пользователем, найти все, у которых сумма первых...

Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних
Помогите решить. Описание метода решения, блок-схему алгоритма. Ввод данных должен осуществляться только из текстового файла Input.dat....

Найти все четырехзначные числа у которых сумма первых двух цифр равна сумме двух последних
найти все четырехзначные числа у которых сумма первых двух цифр равна сумме двух последних.

Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних
zzz

Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних.
Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru