acmp.ru задача, python
Проблема не в логике кода а в ее упорядоченности, другими словами я написал как сделать ту или иную функцию, мне нужно чтобы он выводил правильно так, как просят на сайте acmp.ru, единственная моя проблема в том что я не понимаю принцип работы входных и выходных файлов, хоть убейте, пытаюсь как нибудь подстроиться под условия принятия файла в зеленый цвет, вот собственно этот код:
r = open('INPUT.txt', 'r')
n = r.read(1)
w = open('OUTPUT.txt', 'w')
v = 0
for i in range(0, int(n)+1, 1): #думаю здесь и обьяснять то нечего
v += i
w.write(str(v))
Казалось бы, вот и простая истина, ну если закинуть это решение на сайт, бог знает какой компилятор его отвергнет, да и приплюнет на последок. И вот базовые условия для "корректной" формулировки кода:
Требуется посчитать сумму целых чисел, расположенных между числами 1 и N включительно.
Входные данные В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 10000000.
Выходные данные В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел, расположенных между 1 и N включительно.
Благодарю заранее, за помощь, ибо уверен в том что бравые программисты мне помогут выпутаться из клоаки дерьма поливающегося на мои плечи, и глубоко надеюсь на вашу отзывчивую и понимающую душу.
Ответы (1 шт):
- Надо читать не 1 байт, а строку.
Надо прочитанное превратить в число.- Используй
withдля работы с файлами. - Там ведь наверняка есть пример, как надо писать.
- Всё равно этот код по времени не пройдёт.
Кстати, можно в начале файла написать
import sys
sys.stdin = open('input.txt', 'r')
sys.stdout = open('output.txt', 'w')
и дальше пользоваться обычными input и print