Форум сайта python.su
Добрый день! Я только начинаю изучать язык, попалась такая задача (см. фото): считать цифры из одного файла, написать сумму в другой файл. Все 3 файла (input/output.txt и файл с решением lab_1.py) лежат в одной папке, однако при запуске выдаётся ошибка IOError: Errno 2 No such file or directory: ‘input.txt’. В чём может быть дело?
Отредактировано lil_franche (Фев. 23, 2017 14:42:56)
Прикреплённый файлы:
Снимок lab_1.PNG (27,5 KБ)
Офлайн
Вот текст программы
data = open('input.txt') output = open('output.txt', 'w') data.read() data.replace('\n', ' ') data.split() i=0 while i<len(data): res=int(data[i])+int(data[i+1])**2 output.write(res + '\n') i+=2 output.close() data.close()
Отредактировано lil_franche (Фев. 22, 2017 13:33:13)
Прикреплённый файлы:
Снимок (1) lab_1.PNG (8,3 KБ)
Офлайн
Для начала я вам посоветую не скриншотить экран, а копипастить инфу из консоли.
Зачем вам ЯП, если вы не можете выполнить базовые функции?
Офлайн
TenebrasМногие, кто начинает изучение, не могут выполнить те или иные функции. Что ж теперь, не учиться?
Для начала я вам посоветую не скриншотить экран, а копипастить инфу из консоли. Зачем вам ЯП, если вы не можете выполнить базовые функции?
Отредактировано lil_franche (Фев. 21, 2017 15:27:53)
Офлайн
Вы молодец! Но я вам ещё дам подсказку. В шапке редактора есть рисунок - свиток с символами <>.
Ткните в него и выбирайте PYTHON. И вставляйте ваш код! Попробуйте - вы приятно удивитесь!
Офлайн
Так не нужно:
data = open('input.txt').read()
data = open('input.txt')
Отредактировано Tenebras (Фев. 21, 2017 15:39:16)
Офлайн
TenebrasСпасибо, исправлено. Однако не решает проблемы
Так не нужно:
Офлайн
Я не гуру - сам учусь. Но ваш код совершенно не верный. Вот в таком виде он работает. Проверил.
# data = open('input.txt') output = open('output.txt', 'w') ab = data.readline() line = ab.split(' ') x = int(line[0]) y = int(line[1]) z = x + y output.write(str(z)) data.close() output.close() print z
Отредактировано Tenebras (Фев. 21, 2017 16:25:31)
Офлайн
lil_franche
Вы должны понимать что отправляя на исполнение программу вы должны в командной строке находится в той же (рабочей) директории что и программа. Почитайте об этом
Tenebrasэто потому что автор вставил текст без тегов code, особенности движка формума
Вы кавычки ставите как попало, чередуя их с апострофами. Так нельзя.
with open('input.txt') as f_in, open('output.txt', 'w') as f_out: for line in f_in: if line.strip(): values = [int(x) for x in line.split()] f_out.write('{}\n'.format(sum(values)))
Офлайн
Думаю к вашему уровню надо прийти… а не сразу так вот в него)))
Офлайн