Функция range(start,end,step) – генерирует числовую последовательность, начиная со значения start, заканчивая значением end-1. Может быть использован необязательный параметр step – указывающий на шаг между членами последовательности.
Очень полезна тогда, когда нужно выполнить схожие повторяющиеся действия несколько раз. В следующем примере посчитаем с помощью range() сумму всех трехзначных чисел:
Сумма всех трехзначных чисел:
Очень удобно также использовать range() для перебора списков по индексу.
Функция sum() – суммирует элементы объекта, подставленного ей в качестве аргумента, например sum ([3,7,1]) – где в качестве аргумента мы используем список [3,7,1], вернет 11. А если решать прошлый пример, используя функции range() и sum():
То, ответ получаем, написав одну строчку
Функция min(arg,key) – возвращает минимальное число, переданного ей объекта в качестве аргумента arg:
Минимальное значение:
Необязательный параметр key данной функции может принимать значение любой одноаргументной функции, которая предварительно обработает объект arg. Например, если мы подставим в качестве key – функцию abs(), которая возвращает модуль числа:
И ответ станет иным:
Функция max(arg,key) – противоположность функции min() и возвращает максимальное число, переданного ей объекта в качестве аргумента arg:
Вывод:
Её поведение с необязательным параметром key абсолютно схоже с поведением min().
Таким образом, благодаря параметру key, функции min() и max() в умелых руках могут превратиться из банальных функций в мощные инструменты разработчика.
Конструктивная критика приветствуется.
Предыдущая статья:
Основы работы с числами
Похожие статьи:
Методы строк.Часть 1
Методы списков.Часть 1
Эта статья была полезной? Поставьте лайк и поделитесь с друзьями в социальных сетях!
Оставьте отзывы и замечания!
Николай Веселуха
Высший разум
(334027)
2 года назад
print ((999 * 1000 / 2) – (99 * 100 / 2))
makfromkzВысший разум (125007)
2 года назад
а сумму однозначных чисел кто отнимет? 🙂
makfromkzВысший разум (125007)
2 года назад
вах, наврал я – всё путём )))
A̷̼̽l̷̹̞̕xV̵̬̕͝ȍ̷̞͔͗n̶͍̉̽ő̷͙̻̽r̴̃̀Профи (959)
2 года назад
Помню тоже пришел к такому вычислению в уме, когда считал сумму от 1 до 10 + от 1 до 9. Вот это реально ВЕСЕЛУХА была.
Николай Веселуха
Высший разум
(334027)
Народная молва утверждает, что Карл Фридрих Гаусс додумался до этого ещё раньше))
Здравствуйте. Помогите справиться начинающему. В поиске не нашел (только для паскаля)
Дан массив, содержащий 2014 неотрицательных целых чисел, не превышающих 10 000. Опишите на Python алгоритм, позволяющий найти и вывести сумму всех содержащихся в массиве трёхзначных чисел, десятичная запись которых оканчивается на 9, но не на 99. Если подходящих чисел в массиве нет, программа должна вывести число –1. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
#допускается также использовать три целочисленные переменные i, j, s
a = []
n = 2014
for i in range(0, n):
a.append(int(input()))
Сумма цифр трехзначного числа
Вводится трехзначное число. Написать программу, которая вычисляет сумму его цифр.
Решение задачи на языке программирования Python
Например, если было введено 349, программа должна вывести на экран число 16, так как
3 + 4 + 9 = 16.
(Это задача на линейные алгоритмы, если требуется найти сумму цифр числа произвольной длины с помощью цикла см. задачу “Сумма и произведение цифр числа”.)
Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.
В языках программирования почти всегда есть две операции:
1) нахождение целого при делении нацело,
2) нахождение остатка при делении нацело.
В языке программирования Python первая операция обозначается //
(двумя знаками деления), а вторая – %
(знаком процента). Например:
>>> 34 // 10 3 >>> 34 % 10 4
Примечание. Операции деления нацело и нахождения остатка с точки зрения арифметики применимы только к целым числам. Но в Python их можно использовать и по отношению к дробным числам:
>>> 34.5 % 10 4.5 >>> 34.5 // 10 3.0 >>> 34.5 // 12.9 2.0
Алгоритм нахождения суммы цифр трехзначного числа abc (где a – сотни, b – десятки и c – единицы) можно описать так:
- Найти остаток от деления abc на 10, записать его в переменную d1. Это будет цифра c.
- Избавиться от цифры c в числе abc, разделив его нацело на 10.
- Найти остаток от деления ab на 10, записать его в переменную d2. Это будет цифра b.
- Избавиться от цифры b в числе ab, разделив его нацело на 10.
- Число a однозначное. Это еще одна цифра исходного числа.
- Сложить оставшееся число a со значениями переменных d1 и d2.
n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 n = n // 10 d2 = n % 10 n = n // 10 print("Сумма цифр числа:", n + d2 + d3)
Пример выполнения программы:
Введите трехзначное число: 742 Сумма цифр числа: 13
Однако, если нам известно, что число состоит из трех разрядов (цифр), есть немного другой способ извлечения цифр из числа:
- Остаток от деления на 10 исходного числа дает последнюю цифру числа.
- Если найти остаток от деления на 100 исходного числа, то мы получи последние две цифры числа. Далее следует разделить полученное двухзначное число нацело на 10, и у нас окажется вторая цифра числа.
- Если исходное трехзначное число разделить нацело на 100, то получится первая цифра числа.
n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 d2 = n % 100 // 10 d3 = n // 100 print("Сумма цифр числа:", d1 + d2 + d3)
В Python данную задачу можно решить без использования арифметических действий, а путем извлечения из исходной строки отдельных символов с последующим их преобразованием к целому.
n = input("Введите трехзначное число: ") # Извлекается первый[0] символ строки, # преобразуется к целому. # Аналогично второй[1] и третий[2]. a = int(n[0]) b = int(n[1]) c = int(n[2]) print("Сумма цифр числа:", a + b + c)
Задача может быть усложнена тем, что число вводится не пользователем с клавиатуры, а должно быть сгенерировано случайно. Причем обязательно трехзначное число.
В этом случае надо воспользоваться функциями randint()
, randrange()
или random()
из модуля random
. Первым двум функциям передаются диапазоны: randint(100, 999)
, randrange(100, 1000)
. Получить трехзначное число, используя random()
немного сложнее:
# Функция random генерирует # случайное дробное число от 0 до 1 from random import random # При умножении на 900 получается случайное # число от 0 до 899.(9). # Если прибавить 100, то получится # от 100 до 999.(9). n = random() * 900 + 100 # Отбрасывается дробная часть, # число выводится на экран n = int(n) print(n) # Извлекается старший разряд числа # путем деления нацело на 100 a = n // 100 # Деление нацело на 10 удаляет # последнюю цифру числа. # Затем нахождение остатка при # делении на 10 извлекает последнюю цифру, # которая в исходном числе была средней. b = (n // 10) % 10 # Младший разряд числа находится # как остаток при делении нацело на 10. c = n % 10 print(a+b+c)
Больше задач в PDF
Все категории
- Фотография и видеосъемка
- Знания
- Другое
- Гороскопы, магия, гадания
- Общество и политика
- Образование
- Путешествия и туризм
- Искусство и культура
- Города и страны
- Строительство и ремонт
- Работа и карьера
- Спорт
- Стиль и красота
- Юридическая консультация
- Компьютеры и интернет
- Товары и услуги
- Темы для взрослых
- Семья и дом
- Животные и растения
- Еда и кулинария
- Здоровье и медицина
- Авто и мото
- Бизнес и финансы
- Философия, непознанное
- Досуг и развлечения
- Знакомства, любовь, отношения
- Наука и техника
7
1 ответ:
0
0
Summa = 0
for i in range(100, 1000):
if i%2==0:
summa+=i
print(summa)
получается 247050
Читайте также
В. последовательность символов, строк абзацев
Общий размер S = 7 кБайт = 7*1024 байт = 7 * 8 * 1024 бит.
Всего пикселей P = 56 * 128 = 7 * 8 * 128.
Определим сколько бит приходится на один пиксель (бит/пиксель):
Цветов в палитре (мощность алфавита, то есть сколько цветов можно закодировать этим количеством битов):
Хей, можешь уточнить в чём заключается задание поподробнее, а то не очень понятно.
Ответ:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“Введите число a:”);
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Введите число b:”);
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Введите число c:”);
int c = Convert.ToInt32(Console.ReadLine());//Вводим 3 числа
int sredAref = a + b + c / 3;//Считаем
Console.WriteLine(“Среднее Арифметическое : ” + sredAref);// Выводим
Console.ReadKey();
}
}
Объяснение:
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
uses System.Linq;
begin
writeln(‘III’);
var a := ReadArrInteger(‘Документы’, ReadInteger(‘n=’)).ToList;
writeln;
while a.Any() do
begin
write(a[0], ‘ ‘);
a.RemoveAt(0);
if not a.Any then break;
write(a.Last, ‘ ‘);
a.RemoveAt(a.Count – 1);
if not a.Any then break;
var n := 0;
if a.Count > 1 then n := a.Count div 2 – 1;
write(a[n], ‘ ‘);
a.RemoveAt(n);
end;
end.