Посчитать четные и нечетные цифры числа
Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.
Решение задачи на языке программирования Python
Если число делится без остатка на 2, его последняя цифра четная. Увеличиваем на 1 счетчик четных цифр even . Иначе последняя цифра числа нечетная, увеличиваем счетчик нечетных цифр odd .
В Python операцию нахождения остатка от деления выполняет знак % .
Чтобы избавиться от младшего уже учтенного разряда, число следует разделить нацело на 10. Деление нацело обозначается двумя слэшами // .
a = int(input()) even = 0 odd = 0 while a > 0: if a % 2 == 0: even += 1 else: odd += 1 a = a // 10 print(f'Even: , odd: ')
65439 Even: 2, odd: 3
Кроме чисто математического подхода в Python можно решить задачу «через строку». Мы не будем переводить введенное строковое представление числа к целочисленному типу, вместо этого переберем символы строки в цикле for . Каждый символ преобразуем к числу и проверим на четность.
a = input() even = 0 odd = 0 for i in a: if int(i) % 2 == 0: even += 1 else: odd += 1 print("Even: %d, odd: %d" % (even, odd))
Поскольку количество четных (как и нечетных) цифр ограничено, в программу можно включить что-то типа «базы данных» и проверять каждый символ на вхождение в нее.
a = input() digits = "02468" even = 0 odd = 0 for i in a: if i in digits: even += 1 else: odd += 1 print("Even: %d, odd: %d" % (even, odd))
Обратим внимание, что оператор in языка Python в заголовке цикла for обозначает иное, чем в заголовке условного оператора. Логическое выражение i in digits возвращает истину если i входит в состав digits . В иных случаях — ложь.
X Скрыть Наверх
Решение задач на Python
Цикл for в Python
Цикл в любом языке программирования — это многократное выполнение одного и то же действия. Цикл for проходится по данной последовательности элементов. Он состоит из двух компонент: переменной (переменных) цикла и итерируемой (перебираемой) последовательности. Приведу пример:
for i in ‘one’ , ‘two’ , ‘three’ :
print (i)
# one
# two
# three
Приведу еще несколько примеров:
for i in ‘1’ , ‘hello’ , 2 , 1990 , True, False:
print (i)
for j in ‘orange’ , ‘red’ , ‘purple’ :
print (j)
for k in ‘first’ , ‘last’ :
print (k)
Функция range()
Теперь пришло время познакомиться с встроенной в Python функцией range(). «range» переводится как «диапазон». Она может принимать один, два или три аргумента. Если задан только один, то генерируются числа от 0 до указанного числа, не включая его. Если заданы два, то числа генерируются от первого до второго, не включая его. Если заданы три, то третье число – это шаг. Рассмотрим случай с одним аргументом:
for number in range ( 5 ):
print (number)
for number in 0 , 1 , 2 , 3 , 4 :
print (number)
Напечатаются числа от 0 до 4. Это связано с тем, что функция range с одним аргументом генерирует диапазон от 0 до n-1, где n — это переданный аргумент.
Передадим в функцию два аргумента: 5 и 10. В этом случае range cгенерирует последовательность чисел от 5 до 9.
for el in range ( 5 , 10 , 2 ):
print (el)
Если передать в range три аргумента: 5, 10, 2, то мы получим последовательность от 5 до 10 с шагом в 2
for el in range ( 5 , 10 ):
print (el)
Перебор строк и функция len()
С помошью цикла for мы можем перебрать любую последовательность, например, строку:
for letter in ‘hello’ :
print (letter)
for l in ‘python’ :
print (l)
Любая последовательность имеет длину, это означает, что мы можем ее посчитать
Примеры решения задач
1. Посчитать сумму чисел от 0 до number
number = int ( input ())
summa = 0
for i in range (number +1 ):
# summa = summa + i
summa += i
print (summa)
2. Посчитать сумму четных чисел от 0 до number
number = int ( input ())
summa = 0
for i in range (number +1 ):
if i % 2 == 0 :
# summa = summa + i
summa += i
print (summa)
3. Посчитать произведение чисел от 1 до number
number = int ( input ())
multi = 1
for i in range ( 1 , number +1 ):
multi *= i
print (multi)
Решение задач
1. Вывести числа от 0 до 10.
2. Вывести числа от 0 до n, где n — это случайное число или число, введенное с клавиатуры
3. Вывести нечетные числа в диапазона от 0 до n (диапазон — это последовательность чисел от 0 до n)
4. Вывести четные числа из диапазона от 0 до n.
5. Вывести числа, делящиеся на три без остатка, в диапазоне от 0 до n.
6. Вывести числа, делящиеся на три или на семь без остатка, в диапазоне от 0 до n.
7. Найти сумму всех чисел от 1 до n.
7. Найти сумму четных чисел от 1 до n.
8. Даны два целых числа a и b a . Найти сумму всех целых чисел от a до b включительно.
9. Найти сумму чисел от 1 до n, делящихся на 3 .
10. Дано целое число n. Найти сумму 1 + 1/2 + 1/3 + . + 1/n
11. Дано целое число n. Найти сумму 1 + 2 + 4 + 8 + 16 + . + 2**n
где 2**n — это 2*2*2*. *2 раз. Таким образом, 2**4 = 2*2*2*2. Операция ** называется операцией возведения в степень.
12. Дано целое число n. Найти сумму: 1.1 + 1.2 + 1.3 + . + (1 + 0.1*n)
13. Дано целое число n. Найти значение выражения 1.1 − 1.2 + 1.3 − . (N слагаемых, знаки чередуются).
14. Дано целое число n. Найти квадрат данного числа, используя для его вычисления следующую формулу: n**2 = 1 + 3 + 5 + . + (2*N − 1) После добавления к сумме каждого слагаемого выводить текущее значение суммы
15. Дано вещественное число A и целое число N (> 0). Найти A в степени N: A**N = A * A * . * A (числа A перемножаются N раз). Операцию ** не использовать.
16. По данному натуральному n ≤ 30 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов. Посмотрите статью про ввод и вывод данных.
17. Дано целое число n. Найти сумму 1**1 + 2**2 + . + n**n .
Программа вывода всех нечетных чисел в заданном диапазоне
Программа принимает на вход два числа, которые определяют границы диапазона, и выводит все нечетные числа в этом диапазоне.
Решение задачи
- Принимаем на вход два числа, которые определяют заданный диапазон, и записываем их в разные переменные.
- Используем цикл for для прохождения по этому диапазону.
- Затем используем оператор if для проверки на четность и после этого выводим нечетные числа на экран.
- Конец.
Исходный код
Ниже дан исходный код для вывода всех нечетных чисел из заданного диапазона. Результаты работы программы также даны ниже.
lower = int(input("Введите нижнюю границу диапазона:")) upper = int(input("Введите верхнюю границу диапазона:")) for i in range(lower, upper+1): if(i % 2 != 0): print(i)
Объяснение работы программы
- Пользователь вводит два числа, которые записываются в отдельные переменные и являются нижней и верхней границей диапазона.
- При помощи цикла for мы перебираем все числа в данном диапазоне.
- Далее используем оператор if . Выражение внутри этого оператора проверяет, равен ли остаток 0.
- В случае, если остаток не равен 0, мы выводим это число на экран.
Результаты работы программы
Пример 1: Введите нижнюю границу диапазона:1 Введите верхнюю границу диапазона:16 1 3 5 7 9 11 13 15 Пример 2: Введите нижнюю границу диапазона:150 Введите верхнюю границу диапазона:180 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179
Определение четности числа в Python
Для того чтобы определить четное число введено или нет в Python необходимо воспользоваться оператором «Остаток деления» и написать условие.
Оператор вычисления остатка от деления
В языке программирования Python, также как и в других языках программирования, есть команда — оператор (%), который вычисляет остаток от деления на число. Приведем примеры:
4 % 2 >>>0 5 % 2 >>>1 20 % 10 >>>0 25 % 10 >>>5
При делении числа 4 на 2 — остаток 0. При делении числа 5 на 2 — остаток 1. При делении числа 20 на 10 — остаток 0. При делении числа 25 на 10 — остаток 5.
Определения четности числа с помощью оператора остатка от деления
Мы знаем, что при делении четного числа на 2 у нас в остатке остается 0. Поэтому для определения четного и нечетного числа можем воспользоваться оператором остатка от деления. Напишем для этого условие:
a = 5 if a % 2 == 0: print('Четное число') else: print('Нечентное число') >>> Нечетное число
В начале присваиваем переменной a число, четность которого хотим проверить. Далее пишем условие: если остаток деления переменной a на 2 равно 0, то вывести на экран «Четное число», в противном случае вывести «Нечетное число».
При запуске написанного кода, мы увидим «Нечетное» число.
Написание функции для определения четности числа
Можем написать функцию, которая на входе будет получать число, а на выходе выводить на экран «Четное число» или «Нечетное число» в зависимости от четности полученного числа.
def even_or_odd(a): if a % 2 == 0: print('Четное число') else: print('Нечентное число') even_or_odd(10) >>> Четное число even_or_odd(11) >>> Нечетное число
Разберем написанный код. В первой строке мы объявляем новую функцию. Назовем её even_or_odd. Функция на входе будет получать одно число. Далее она проверяет это число на остаток от деления на 2 и выводит на печать «Четное число» или «Нечетное число». Условие, которое написано в функции мы рассмотрели уже ранее.
Как видим, определить четность числа — это довольно простая задача, которая быстро решается с помощью оператора остатка от деления (%).