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

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

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

11 ответов

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

def sum_even(a, b): count = 0 for i in range(a, b, 1): if(i % 2 == 0): count += i return count 

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

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

Так что если вы будете делать звонки по адресу:

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

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

def sum_even(a, b): return sum(i for i in range(a, b + 1) if i % 2 == 0) 
def sum_even(a,b): count = 0 for i in range(a, b): if(i % 2 == 0): count += i return count 
  • добавить я вместо [я]
  • вы возвращаете значение непосредственно на первой итерации. Переместите счетчик возврата из цикла for

Это сложит все ваши четные значения от 1 до 10 и выведет ответ, который хранится в переменной x

x = 0 for i in range (1,10): if i %2 == 0: x = x+1 print(x) 

сумма всех четных чисел между начальным и конечным числом ( включительно ) .

 def addEvenNumbers(start,end): total = 0 if end%2==0: for x in range(start,end): if x%2==0: total+=x return total+end else: for x in range(start,end): if x%2==0: total+=x return total print addEvenNumbers(4,12) 

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

def sum_even(a, b): if (a % 2 == 1): a += 1 if (b % 2 == 1): b -= 1 return a * (0.5 - 0.25 * a) + b * (0.25 * b + 0.5) 

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

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

def sum_even(a, b): if (a % 2 == 1): a += 1 if (b % 2 == 1): b -= 1 return (a * (2 - a) + b * (2 + b)) // 4 

Мне бы хотелось, чтобы вы увидели, как работают ваши циклы, если b близко к 2 ^ 32 😉 Как сказал Мэтью, цикл не нужен, но он не объясняет почему.

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

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

if ((a & 1)==1): a = a + 1 if ((b & 1)==1): b = b - 1 

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

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

def sum_even(a,b): if ((a & 1)==1): a = a + 1 if ((b & 1)==1): b = b - 1 return ((a+b)/2) * (1+((b-a)/2)) 

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

  1. Переместите оператор return из области видимости цикла for (в противном случае вы вернетесь к первой итерации цикла).
  2. Измените count += [i] на count += i .

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

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

sum(i for i in xrange(a, b + 1) if not i % 2) 

Это может быть простой способ сделать это, используя функцию диапазона. третье число в диапазоне является номером шага, то есть 0, 2, 4, 6 . 100

sum = 0 for even_number in range(0,102,2): sum += even_number print (sum) 

Немного больше фантазии с расширенной функцией Python.

def sum(a,b): return a + b def evensum(a,b): a = reduce(sum,[x for x in range(a,b) if x %2 ==0]) return a 

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

def sum_even(a, b): return sum(range(a + a%2, b + 1, 2)) 

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

Источник

Нужно посчитать сумму только четных чисел от 1 до n на цикле while

Как посчитать чисел сумму в цикле for?
Привет друзья, подскажите пожалуйста как можно посчитать сумму чисел в каждой итерации цикла? сам.

Посчитать сумму всех чётных чисел от 0 до 100 и вывести сумму на экран
Посчитать сумму всех чётных чисел от 0 до 100 и вывести сумму на экран. c#

Нужно в списке чисел посчитать произведение четных чисел, больших указанного значения
Нужно в списке чисел посчитать произведение четных чисел, больших указанного значения. В Haskell я.

Лучший ответ

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

Решение

n = int(input()) s = 0 i = 0 while i  n: if i % 2 == 0: s += i i += 1 print(s)

Эксперт Python

n = int(input()) i = s = 0 while i + 1  n: i += 2 s += i print(s) ### print(n//2 * (n//2+1))

Посчитать сумму четных и сумму нечетных чисел на отрезке [a; b].
Четные или Нечетные Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод.

Сформировать список целых чисел и посчитать сумму четных чисел
привет. есть готовая задачка с условием Дано целое число А. Определить сумму четных цифр в числе.

Посчитать в цикле с постусловием сумму натурального ряда чисел со значениями от 3 до 33
Посчитать в цикле с постусловием сумму натурального ряда чисел со значениями от 3 до 33, вывести.

Посчитать сумму всех четных чисел в массиве
Помогите пожалуйста решить задачу: Заполнить массив из 10 элементов числами, введенными с.

Посчитать сумму цифр всех чётных чисел последовательности
Дана последовательность чисел. Посчитать сумму цифр всех чётных чисел. помогите написать.

Источник

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

В школе на информатике в 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 )

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

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

Как отключить стандартную оболочку в навигаторе EXPLAY PN-355

Все автомобильные GPS-навигаторы имеют меню с достаточного размера кнопками на сенсорном экране для выстрого запуска необходимых приложений, в первую очередь — программы для непосредственной навигации. Многие современные навигаторы имеют возможность менять путь к навигационной программе. Поэтому при установке альтернативного ПО есть возможность безболезненно через настройки меню задать временно или.

Как быстро удалить все фото и видео с iPhone

Устройства iPhone и iPad имеют довольно серьёзный недостаток — отсутствие нормального человеческого доступа к файловой системе устройства. По этой причине пользователям очень неудобно загружать различные файлы на мобильные устройства с компьютера и наоборот. Последние модели iPhone имеют очень крутые фотокамеры, позволяющие за несколько секунд делать потрясающие снимки (да, об этом никто даже не.

SQL-задачка от Яндекса

Один товарищ рассматривал вариант устроиться на работу в Яндекс на вакансию «Асессор-разработчик». В тестовом задании была задачка на составление SQL-запроса.

Где прячутся вирусы

При заражении компьютера вирусы поступают таким образом, чтобы при загрузке операционной системы они тоже загружались, либо загружалась их самая основная необходимая часть. Для этого они обычно вносят изменения в реестр Windows. В зависимости от продвинутости создателя вируса это может быть реализовано по-разному. Рассмотрим самые распространенные случаи, где прячутся вирусы:

Как убрать «Получить Windows 10»

Многие пользователи компьютеров с операционной системой Windows (версии 7 и 8) недавно обнаружили, что каким-то образом сам по себе в трее появился новый значок — «Получить Windows 10». Владельцы «древних» операционок типа Windows XP и 2000 такого «подарка» не получили и, скорее всего, вряд ли расстроились из-за этого 🙂 .

Как настроить skype

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

Проблема авиационного шума

Международные требования к шуму воздушных судов изложены в форме стандартов и рекомендуемой практики в документе Международной организации гражданской авиации (ИКАО) “Приложение 16 “Охрана окружающей среды” (том 1 “Авиационный шум”) Конвенции о международной гражданской авиации 1944г. Проблема авиационного шума возникла с конца 50-х годов со времени внедрения и начала интенсивной эксплуатации в мировой гражданской.

Источник

Найти сумму чётных элементов двухмерного массива

Вычислить сумму четных элементов двухмерного массива
Дан двухмерный массив, состоящий из N, M целочисленных элементов. 1)Вычислить сумму четных.

Найти сумму всех положительных четных элементов массива, предшествующих первому по порядку такому элементу
#include <iostream> #include <ctime> using namespace std; int main() < setlocale.

Вычислить сумму первых трех четных элементов двухмерного массива
Дан двухмерный массив, состоящий из N, M вещественных элементов. Вычислить сумму первых трех.

Найти сумму и число элементов каждого столбца двухмерного массива удовлетворяющих следующим условиям:
Элементы которого положительны и лежат выше главной диагонали. Помогите пожалуйста.

Эксперт С++

Лучший ответ

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

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
import random N = 10 arr = [] for i in range(N): arr.append([]) for j in range(N): arr[i].append(int(random.random() * 10)-5) for i in range(N): print(*arr[i]) s = 0 for i in range (N): for j in range(N): if arr[i][j] >= 0 and arr[i][j]%2 == 0: s += arr[i][j] print("s=",s)
import random N = 10 arr = [[int(random.random() * 10)-5 for x in range(N)] for y in range(N)] for i in range(N): print(*arr[i]) s = 0 for i in range (N): for j in range(N): if arr[i][j] >= 0 and arr[i][j]%2 == 0: s += arr[i][j] print("s=",s)
import random N = 10 arr = [[int(random.random() * 10)-5 for x in range(N)] for y in range(N)] for i in range(N): print(*arr[i]) s = 0 for i in range (N): s=sum( (t for t in arr[i] if t >= 0 and t%2 == 0), s) print("s=",s)

Найти сумму и количество чётных элементов массива
1. Заполнить массив 10-ю случайными целыми числами от -10 до 15. Распечатать массив. Найти сумму и.

Найти сумму чётных элементов во второй половине массива
Задан массив целых чисел X(n) Найти -сумму чётных элементов во второй половине массива;

Массив: Найти сумму четных элементов заданного массива
В массиве из 10 целых чисел поменять местами наибольший элемент и наименьший элементы. Найти сумму.

Вычислить сумму четных элементов двухмерного массива
Дан двухмерный массив, состоящий из N, M целочисленных элементов. 1) Вычислить сумму четных.

найти сумму элементов двухмерного массива 5*8
пожалуйста напишите программу: Нахождения суммы элементов двухмерного массива 5*8

Источник

Читайте также:  Java boolean wrapper if
Оцените статью