Напишите программу которая вычисляет сумму всех четных чисел в диапазоне от 1 до n python
Перейти к содержимому

Напишите программу которая вычисляет сумму всех четных чисел в диапазоне от 1 до n python

  • автор:

Найти суму четных чисел в диапазоне от а до b (Python)

Пользователь вводит 2 числа a и b. Нужно найти сумму только четных чисел между ними (и включая их). Не знаю как закончить код и правильный ли он вообще.

Во втором аргументе range нужно указать число на 1 больше, т.к. итоговый диапазон не включает последнее число, т.е. при range(2,8) мы получим набор чисел от 2 до 7.

После того, как проверилось наше условие на четность, нужно сложить все подходящие числа. Для этого еще перед началом цикла нужно создать нулевую переменную (например, sum_numbers) и потом к ней каждый раз прибавлять каждое подходящее число. Это можно сделать через sum_numbers = sum_numbers + i или наиболее распространенный вариант sum_numbers += i .

Напишите программу которая вычисляет сумму всех четных чисел в диапазоне от 1 до n python

В школе на информатике в 9 классе детям преподают Python! Вообще, это классно и лучше всяких бейсиков, фортранов и паскалей. Главное, чтобы преподаватель мог хорошо объяснить и заинтересовать детей в программировании.

Python - массив случайных чисел

Соответственно, родителям приходится разбираться с домашними и самостоятельными работами по программированию:)

Вот очередная такая домашка:

В массиве случайных чисел из отрезка от 1 до 100 найти сумму всех четных элементов массива.

Решение:

import random

mas = []

sum = 0

# Генерируем массив из 18 чисел от 1 до 100:

mas = [ random.randint ( 1 , 100 ) for i in range ( 1 , 18 )]

print (mas)

# Проходим в цикле по массиву и все четные числа суммируем:

for i in mas:

if ( i % 2 ) == 0 :

sum += i

print (sum)

Ответ:

Вариант с выводом ответа с интерполяцией строк:

import random

mas = []

sum = 0

# Генерируем массив из 18 чисел от 1 до 100:

mas = [ random.randint ( 1 , 100 ) for i in range ( 1 , 18 )]

print ( ‘Массив: %s’ % mas)

# Проходим в цикле по массиву и все четные числа суммируем:

for i in mas:

if ( i % 2 ) == 0 :

sum += i

print ( ‘Сумма четных элементов: %s’ % sum)

Ответ:

Комментарии ( 0 )

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.

Интересные статьи:

Jeppesen FD PRO and JDM PRO

Jeppesen FD PRO and JDM PRO

Фирма Jeppesen в лице Kellie Isaac — руководителя отдела обновления баз данных анонсировала новое аэронавигационное приложение для iPad — Jeppesen FliteDeck PRO, работающую совместно с Jeppesen Distribution Manager Pro (JDM Pro). Jeppesen FliteDeck Pro ориентирован на коммерческих и военных эксплуатантов ВС. Частная и бизнес авиация радостно использует обычную версию Jeppesen Mobile FliteDeck.

Оптимизация и Настройка операционной системы Windows 7

Оптимизация и Настройка операционной системы Windows 7

Не смотря на то, что маркетологи Microsoft рвут на своих попах волосы, уверяя пользователей, что их очередная новая операционная система просто суперская и не имеет ни одного изъяна и косяка и совершенно не требует абсолютно никакой дополнительной настройки, им мало кто верит. Тем более, что практика показывает, что операционные системы Windows — как российские автомобили: чтоб нормально поехать на нем.

Код зоны покрытия для Jepp View, eLink и Flite Deck

Код зоны покрытия для Jepp View, eLink и Flite Deck

При обновлении программы Jepp View иногда может понадобиться код зоны покрытия навигационной БД (coverage code). В течение последних нескольких лет Jeppesen программирует и выдает своим клиентам такие серийные номера для программ при последующих обновлениях которых не нужно вводить coverage code — он уже не нужен, т.к. программа установки обновления автоматически его считывает в системе на.

Сбербанк онлайн - дырка в приложении для iPad

Сбербанк онлайн — дырка в приложении для iPad

Многие клиенты сбербанка пользуются сервисом «Сбербанк онлайн» для управления своими финансами и платежами. У данного сервиса есть детище — приложение для iPad, имеющее похожее название — «Сбербанк ОнЛ@йн«. В принципе, приложение «Сбербанк ОнЛ@йн» не плохое и довольно удобное. По сравнению с доступом через сайт к сервису «Сбербанк онлайн» гораздо проще реализована авторизация — нужно ввести только собственный пароль. Из.

Шезлонг Ларри или Мечты сбываются

Шезлонг Ларри или Мечты сбываются

В 1982 году Ларри Уолтерс, пенсионер из Лос-Анджелеса решил осуществить давнюю мечту — полететь, но не на самолете. Он изобрел собственный способ путешествовать по воздуху. Уолтерс привязал к удобному креслу сорок пять метеорологических шаров, наполненных гелием, каждый из которых имел метр в диаметре. Он уселся в кресло, взяв запас бутербродов, пиво и дробовик. По сигналу, его друзья отвязали веревку.

Швеция изобрела слово, чтобы стыдить людей за полеты

Швеция изобрела слово, чтобы стыдить людей за полеты

Greta Thunberg — девочка, которая ненавидит авиацию Странно, что это произошло в одной из стран, расположенной за Полярным кругом, так как именно шведы много и часто летают, чтобы погреть свои замороженные пальцы ног в более тёплых южных странах. Массовая «миграция» из северной Европы в сторону юга обычно начинается к концу лета и достигает пика, когда наступает зимняя полярная ночь. Но сегодня все больше и больше шведов отправляются в долгий путь.

Методики определения эксплуатационных минимумов

Методики определения эксплуатационных минимумов

Каждый эксплуатант (авиакомпания) при выполнении полетов должен тем или иным способом определять эксплуатационные минимумы для взлета и захода на посадку для каждого аэродрома с учетом: наличия/отсутствия/работосопособности системы огней ВПП, функционирования наземных и бортовых навигационных средств, препятствий в районе аэродрома и минимума командира воздушного судна. Эксплуатационные минимумы.

Сумма четных целых чисел от a до b в Python

В качестве примера я привел print (sum_even (3,7)), а результат равен 0. Я не могу понять, что не так.

10 ответов

Ваш отступ выключен, он должен быть:

чтобы return count не попадал в ваш цикл for (в этом случае он возвращался на 1-ю итерацию, заставляя его возвращать 0)

(И измените [i] на i )

ПРИМЕЧАНИЕ: другая проблема — вы должны быть осторожны при использовании range :

поэтому, если вам нужно позвонить:

  • sum_even(3,7)
  • sum_even(3,8)

прямо сейчас они оба выводят 10 , что неверно для суммы четных целых чисел от 3 до 8 включительно.

Что вы действительно хотите, вероятно, это вместо этого:

Переместите оператор return из области цикла for (иначе вы вернетесь на первую итерацию цикла).

Измените count += [i] на count += i .

Также (не уверен, что вы знали это), range(a, b, 1) будет содержать все числа от a до b — 1 (не b ). Кроме того, вам не нужен аргумент 1 : range(a,b) будет иметь тот же эффект. Поэтому, чтобы содержать все числа от a до b , вы должны использовать range(a, b+1) .

Вероятно, самый быстрый способ добавить все четные числа от a до b —

Вы можете сделать это намного проще, правильно используя аргумент шага для функции диапазона.

Вам не нужен цикл; вы можете использовать простую алгебру:

Edit:

Как указывал NPE, мое исходное решение выше использует математику с плавающей запятой. Я не был слишком обеспокоен, так как накладные расходы математики с плавающей запятой ничтожны по сравнению с удалением цикла (например, при вызове sum_even(10, 10000) ). Кроме того, в расчетах используются (отрицательные) степени, равные двум, поэтому не должны подвергаться ошибкам округления.

Во всяком случае, с простым трюком умножения всего на 4, а затем снова делением в конце, мы можем использовать целые числа по всему, что предпочтительнее.

Я бы хотел, чтобы вы видели, как работают ваши петли, если b близок к 2 ^ 32;-) Поскольку Мэтью сказал, что нет необходимости в петле, но он не объясняет, почему.

Проблема заключается в простой арифметической последовательности wiki. Сумма всех элементов в такой последовательности:

где «a» — это первый элемент, последний — «b» , а «n» — число, если элементы. Если мы сделаем четные числа «a» и «b» , мы сможем легко решить данную проблему. Поэтому создание «a» и «b» равно просто:

Теперь подумайте, сколько у нас элементов между двумя четными числами — это:

Поместите его в уравнение, и вы получите:

чтобы ваш код выглядел следующим образом:

Конечно, вы можете добавить код для предотвращения того, чтобы быть равным или больше, чем b и т.д.

Сумма четных целых чисел от a до b в Python

В качестве примера я привел print (sum_even (3,7)), а результат равен 0. Я не могу понять, что не так.

Ваш отступ выключен, он должен быть:

чтобы return count не попадал в ваш цикл for (в этом случае он возвращался на 1-ю итерацию, заставляя его возвращать 0)

(И измените [i] на i )

ПРИМЕЧАНИЕ: другая проблема — вы должны быть осторожны при использовании range :

поэтому, если вам нужно позвонить:

    sum_even(3,7)
    sum_even(3,8)

прямо сейчас они оба выводят 10 , что неверно для суммы четных целых чисел от 3 до 8 включительно.

Что вы действительно хотите, вероятно, это вместо этого:

Переместите оператор return из области цикла for (иначе вы вернетесь на первую итерацию цикла).

Измените count += [i] на count += i .

Также (не уверен, что вы знали это), range(a, b, 1) будет содержать все числа от a до b — 1 (не b ). Кроме того, вам не нужен аргумент 1 : range(a,b) будет иметь тот же эффект. Поэтому, чтобы содержать все числа от a до b , вы должны использовать range(a, b+1) .

Вероятно, самый быстрый способ добавить все четные числа от a до b —

Вы можете сделать это намного проще, правильно используя аргумент шага для функции диапазона.

Вам не нужен цикл; вы можете использовать простую алгебру:

Edit:

Как указывал NPE, мое исходное решение выше использует математику с плавающей запятой. Я не был слишком обеспокоен, так как накладные расходы математики с плавающей запятой ничтожны по сравнению с удалением цикла (например, при вызове sum_even(10, 10000) ). Кроме того, в расчетах используются (отрицательные) степени, равные двум, поэтому не должны подвергаться ошибкам округления.

Во всяком случае, с простым трюком умножения всего на 4, а затем снова делением в конце, мы можем использовать целые числа по всему, что предпочтительнее.

Отступы имеют значение в Python. Код, который вы пишете, возвращается после обработки первого элемента.

Я бы хотел, чтобы вы видели, как работают ваши петли, если b близок к 2 ^ 32;-)
Поскольку Мэтью сказал, что нет необходимости в петле, но он не объясняет, почему.

Проблема заключается в простой арифметической последовательности wiki. Сумма всех элементов в такой последовательности:

где «a» — это первый элемент, последний — «b» , а «n» — число, если элементы.
Если мы сделаем четные числа «a» и «b» , мы сможем легко решить данную проблему.
Поэтому создание «a» и «b» равно просто:

Теперь подумайте, сколько у нас элементов между двумя четными числами — это:

Поместите его в уравнение, и вы получите:

чтобы ваш код выглядел следующим образом:

Конечно, вы можете добавить код для предотвращения того, чтобы быть равным или больше, чем b и т.д.

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

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