Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2. Во входном файле заданы случайные числа от 1 до 999. Для того, чтобы найти сумму всех чисел в диапазоне (f, s), пройдёмся по всем числам во входном файле и проверим каждое число на принадлежность диапазону.
- openfname = "input.txt" # имя входного файла
- f = 100
- s = 199 # границы диапазона, можно изменять
- ofile = open(openfname, "r") # открываем файл с именем openfname при помощи функции open(), открываем ТОЛЬКО ДЛЯ ЧТЕНИЯ (параметр "r")
- data = ofile.read().split("\n") # метод read() позволяет представить содержимое в виде строки (текста), метод split("\n") позволяет убрать все переносы строк из файла, чтобы остались только числа
- data = list(map(int, data)) # map - метод трансформации контейнеров, который принимает в себя два аргумента - первый аргумент отвечает за трансформацию (в данном случае каждый элемент превращаем в целое число (int), второй аргумент отвечает за трансформируемый объект (в данном случае data). Поскольку map возвращает итератор, а не контейнер (итератор неудобно использовать), превращаем его в контейнер методом list()
- # ура, мы превратили данные из входного файла в удобный вид!
- summ = 0 # сумма всех чисел, подходящих под условие
- for x in data: # в этот раз пройдёмся не по диапазону, а по контейнеру
- if x >= f and x <= s: # x - текущее число, проверяем его на принадлежность диапазону
- summ += x # если проверка успешна, прибавляем число к сумме
- print(summ) # выводим результат в консоль
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement