Как сделать арифметическую прогрессию в питоне
Перейти к содержимому

Как сделать арифметическую прогрессию в питоне

  • автор:

Арифметическая прогрессия

Составить программу вычисления n первых членов арифметической прогрессии, заданных формулой ak+1=ak+d, где a1, k и d запрашиваются при запуске программы При вводе данных: a1 = 1, d = 2, k = 3 Ответ выводит 1 3 5 Написал код, но хотел бы спросить, правильный ли он?

a1 = int(input('Введите первый номер члена a1: ')) d = int(input('Введите разность ар.пр. : ')) k = int(input('Введите последний номер члена k: ')) result = '' #Инициализация переменной с пустым значением for i in range(k): result += str(a1+i*d) + ' ' print('\nВсе члены прогрессии', result) 

Отслеживать
задан 22 дек 2022 в 14:55
user528532 user528532
print(‘\nВсе члены прогрессии’, *range(a1, a1 + d * k, d))
22 дек 2022 в 15:18

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Единственное, что можно сказать: так как вы собираете последовательность, то логичнее хранить ее в списке, а не строке, и также логичнее не преобразовывать элементы к строке до того момента, пока вам не понадобится вывести элементы на печать.

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

Предлагаю написать как-то так, логика работы не меняется, но этот код чуть более архитектурный:

a1 = int(input('Введите первый номер члена a1: ')) d = int(input('Введите разность ар.пр. : ')) k = int(input('Введите последний номер члена k: ')) result = [] for i in range(k): result.append(a1+i*d) print('\nВсе члены прогрессии', ' '.join([str(x) for x in result])) 

Сумма арифметической прогрессии

Author24 — интернет-сервис помощи студентам

4) Найти сумму членов арифметической прогрессии, если известны её первый член, знаменатель и число членов прогрессии.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Сумма арифметической прогрессии
Как это реализовать в python 3 через циклы? n = int(input(‘Будут выведены на экран n первых.

При любом n сумма первых членов ар. прогрессии равна 5n^2 . Найти разность прогрессии
Арифметическая прогрессия обладает следующим свойством: при любом n сумма ее первых членов равна.

Тройка арифметической прогрессии
Рассмотрим отсортированный по возрастанию список L целых чисел (тип int) не менее трех. Найдите в.

Найти сумму арифметической прогрессии
Найти сумму арифметической прогрессии по а1, d, n

Регистрация: 20.10.2016
Сообщений: 153

по этой формуле сумму искать?

Регистрация: 20.10.2016
Сообщений: 153

Лучший ответ

Сообщение было отмечено LOMANI как решение

Решение

сделал по первой формуле, через разность, оно есть в условии задачи

1 2 3 4 5 6
import math a = float(input('Vvedite pervyi chlen: ')) d = float(input('VVedite raznost: ')) n = float(input('VVedite chislo clenov: ')) s = (((2*a)+(d*(n-1)))/2)*n print 'summa chlenov', s

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Поиск арифметической прогрессии в массиве
1. Дано функцию для создания массива import random column = 5 lines = 5 masive = for i.

Найти n-ый член арифметической прогрессии
Найдите 1543-й член арифметической прогрессии, если её нулевой член равен 179, а шаг — 2007.

Вычислить и вывести n членов арифметической прогрессии
1.Вычислить и вывести n членов арифметической прогрессии с пер-вым членом а и разностью прогрессии.

Вычисление суммы арифметической прогрессии (цикл for)
1)При помощи программы с циклом for вычислите сумму арифметической прогрессии: 1 + 3 + 5 + … +.

Вычисления n первых членов арифметической прогрессии
Составить программу вычисления n первых членов арифметической прогрессии, заданных формулой.

Написать программу по схеме арифметической прогрессии
Сколько яблок я куплю на 7650 рублей. 1-ое яблоко стои 100 руб., второе 200 руб., 3-е 300 руб. и.

Найти сумму членов арифметической прогрессии
Найти сумму членов арифметической прогрессии a, a + d. a + (n + 1)d.

Или воспользуйтесь поиском по форуму:

Как сделать арифметическую прогрессию в питоне

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Класс range() в Python, генерирует арифметические последовательности

Позволяет создавать последовательности чисел с заданным шагом

Синтаксис:
range(stop) range(start, stop) range(start, stop, step) 
Параметры:
  • start — int , начало последовательности,
  • stop — int , конец последовательности,
  • step — int , шаг последовательности.
Возвращаемое значение:
  • int , последовательность целых чисел, с заданным шагом.
Описание:

Класс range() (диапазон) генерирует арифметическую прогрессию целых чисел, с заданным шагом. По существу это отдельный неизменяемый тип данных в языке Python. Диапазоны реализуют все общие операции с последовательностями, кроме конкатенации и повторения, поскольку объекты диапазона могут представлять только последовательности, которые следуют строгому шаблону, а повторение и конкатенация обычно нарушают этот шаблон.

Последовательности реализуют интерфейс ABC collections.abc.Sequence , и предоставляют такие возможности как проверка вхождения if num in range , обращение к элементу по индексу range[i] , поиск индекса элемента, взятие среза и отрицательную индексацию.

Аргументы конструктора класса range() должны быть целыми числами, или любым объектом, который реализует специальный метод __index__ . Если аргумент шага step опущен, по умолчанию используется значение step=1 . Если аргумент start пропущен, то по умолчанию используется значение start=0 . Если шаг равен нулю step=1 , бросается исключение ValueError .

  • Для положительного шага содержимое диапазона range() определяется по формуле r[i] = start + step*i , где i >= 0 и r[i] < stop
  • Для отрицательного шага содержимое диапазона range() так же определяется по формуле r[i] = start + step*i , но есть ограничения i >= 0 и r[i] > stop .

Объект range() будет пустым, если r[0] не соответствует ограничению значения. Диапазоны поддерживают отрицательные индексы, но они интерпретируются как индексация с конца последовательности, которая определена положительными индексами.

Диапазоны, содержащие абсолютные значения, превышающие допустимые sys.maxsize будут работать, но некоторые функции, например len() , могут вызывать OverflowError .

Проверка range() на равенство при помощи == и != сравнивает их как последовательности. Это означает, что два диапазона равны, если они представляют одинаковую последовательность значений. Обратите внимание, что два равных диапазона могут иметь разные start , stop и step . Например: range(0) == range(2, 1, 3) или range(0, 3, 2) == range(0, 4, 2) .

Преимущество типа данных range над списками list или кортежами tuple в том, что диапазоны range всегда будут занимать небольшое количество памяти, независимо от размера диапазона, которое он представляет, так как он хранит в памяти только значение start , stop и step , а элементы последовательности вычисляется по мере необходимости.

Пример использования range() .

  • Примеры создания арифметических последовательностей;
  • Примеры операций с классом range() ;
  • Пример использования range() в цикле for/in ;
  • Пример использования range() для генерации float значений;

Примеры создания арифметических последовательностей.

# Общие примеры >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30, 5)) [0, 5, 10, 15, 20, 25] >>> list(range(0, 10, 3)) [0, 3, 6, 9] >>> list(range(0, -10, -1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> list(range(0)) [] >>> list(range(1, 0)) [] 

Примеры операций с классом range() .

>>> r = range(0, 20, 2) # Проверка вхождения >>> 11 in r False >>> 10 in r True # Поиск индекса элемента >>> r.index(10) 5 # Обращение к элементу по его индексу >>> r[5] 10 # Срез диапазона >>> r[:5] range(0, 10, 2) >>> r[-1] 18 

Пример использования range() в цикле for/in .

# отсчет с нуля >>> for i in range(0, 5): . print(i) . # 0 # 1 # 2 # 3 # 4 # отсчет с единицы >>> for i in range(1, 6): . print(i) . # 1 # 2 # 3 # 4 # 5 # использование шага в циклах >>> for n, i in enumerate(range(0, 7, 2), 1): . print(f'n>) => i>') . # 1) => 0 # 2) => 2 # 3) => 4 # 4) => 6 # обратный отсчет с шагом в циклах # при помощи класса `range()` >>> for n, i in enumerate(range(-7, 0, 2), 1): . print(f'n>) => abs(i)>') . # 1) => 7 # 2) => 5 # 3) => 3 # 4) => 1 

Пример использования range() для генерации float значений.

Для генерации последовательности чисел с шагом 0.1, необходимо умножить результат функции range() на 0.1, а затем округлить значение при помощи round() (т.к. математика типа float в Python не совсем точная).

>>> for i in range(100): . n = round(i * 0.1, 1) . print(n) . # 0.0 # 0.1 # 0.2 # 0.3 # . # 9.6 # 9.7 # 9.8 # 9.9 

Генерация float с шагом 0.5:

>>> for i in range(0, 30, 5): . n = round(i * 0.1, 1) . print(n) . # 0.0 # 0.5 # 1.0 # 1.5 # 2.0 # 2.5 

Генерация float с шагом 0.02:

>>> for i in range(0, 30, 2): . # умножаем на 0.01 и округляем до . # 2-х значений после запятой . n = round(i * 0.01, 2) . print(n) . # 0.0 # 0.02 # 0.04 # 0.06 # 0.08 # 0.1 # . # 0.22 # 0.24 # 0.26 # 0.28 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Функция abs(), абсолютное значение числа
  • Функция all(), все элементы True
  • Функция any(), хотя бы один элемент True
  • Функция ascii(), преобразует строку в ASCII
  • Функция bin(), число в двоичную строку
  • Класс bool(), логическое значение объекта
  • Функция breakpoint(), отладчик кода
  • Класс bytearray(), преобразует в массив байтов
  • Класс bytes(), преобразует в строку байтов
  • Функция callable(), проверяет можно ли вызвать объект
  • Функция chr(), число в символ Юникода
  • Класс classmethod, делает функцию методом класса
  • Функция compile() компилирует блок кода Python
  • Класс complex(), преобразует в комплексное число
  • Функция delattr(), удаляет атрибут объекта
  • Класс dict() создает словарь
  • Функция dir(), все атрибуты объекта
  • Функция divmod(), делит числа с остатком
  • Функция enumerate(), счетчик элементов последовательности
  • Функция eval(), выполняет строку-выражение с кодом
  • Функция exec(), выполняет блок кода
  • Функция filter(), фильтрует список по условию
  • Класс float(), преобразует в вещественное число
  • Функция format(), форматирует значение переменной
  • Класс frozenset(), преобразует в неизменяемое множество
  • Функция getattr(), значение атрибута по имени
  • Функция globals(), переменные глобальной области
  • Функция hasattr(), наличие атрибута объекта
  • Функция hash(), хэш-значение объекта
  • Функция help(), справка по любому объекту
  • Функция hex(), число в шестнадцатеричную строку
  • Функция id(), идентификатор объекта
  • Функция input(), ввод данных с клавиатуры
  • Класс int(), преобразует в тип int
  • Функция isinstance(), принадлежность экземпляра к классу
  • Функция issubclass(), проверяет наследование класса
  • Функция iter(), создает итератор
  • Функция len(), количество элементов объекта
  • Класс list(), преобразовывает в список
  • Функция locals(), переменные локальной области
  • Функция map(), обработка последовательности без цикла
  • Функция max(), максимальное значение элемента
  • Класс memoryview(), ссылка на буфер обмена
  • Функция min(), минимальное значение элемента
  • Функция next(), следующий элемент итератора
  • Класс object(), возвращает безликий объект
  • Функция oct(), число в восьмеричную строку
  • Функция open(), открывает файл на чтение/запись
  • Функция ord(), число символа Unicode
  • Функция pow(), возводит число в степень
  • Функция print(), печатает объект
  • Класс property(), метод класса как свойство
  • Класс range(), генерирует арифметические последовательности
  • Функция repr(), описание объекта
  • Функция reversed(), разворачивает последовательность
  • Функция round(), округляет число
  • Класс set(), создает или преобразовывает в множество
  • Функция setattr(), создает атрибут объекта
  • Класс slice(), шаблон среза
  • Функция sorted(), выполняет сортировку
  • Декоратор staticmethod(), метод класса в статический метод
  • Класс str(), преобразует объект в строку
  • Функция sum(), сумма последовательности
  • Функция super(), доступ к унаследованным методам
  • Класс tuple(), создает или преобразует в кортеж
  • Класс type(), возвращает тип объекта
  • Функция vars(), словарь переменных объекта
  • Функция zip(), объединить элементы в список кортежей
  • Функция __import__(), находит и импортирует модуль
  • Функция aiter(), создает асинхронный итератор
  • Функция anext(), следующий элемент асинхронного итератора

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *