Как написать на питоне что число четное

Картинка к уроку "Определение четности числа в Python"

На чтение 2 мин Просмотров 69к. Опубликовано

Для того чтобы определить четное число введено или нет в Python необходимо воспользоваться оператором «Остаток деления» и написать условие.

Содержание

  1. Оператор вычисления остатка от деления
  2. Определения четности числа с помощью оператора остатка от деления
  3. Написание функции для определения четности числа

Оператор вычисления остатка от деления

В языке программирования 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 и выводит на печать «Четное число» или «Нечетное число». Условие, которое написано в функции мы рассмотрели уже ранее.

Как видим, определить четность числа — это довольно простая задача, которая быстро решается с помощью оператора остатка от деления (%).

Понимаю, что надо делить на 2 и смотреть на остаток. Вот что пытался делать.

if ( not line%2 ):
    print 'chek true'

Kromster's user avatar

Kromster

13.3k12 золотых знаков41 серебряный знак70 бронзовых знаков

задан 7 сен 2011 в 1:41

hooko's user avatar

Возможен и такой вариант:


for x in (0, 1, 2, 3, 4):
    if not x & 1: 
        print "%d is even" % x

ответ дан 8 сен 2011 в 6:54

dude's user avatar

dudedude

5512 серебряных знака6 бронзовых знаков

for x in (0, 1, 2, 3, 4):
    if x % 2 == 0: 
        print "%d is even" % x

http://ideone.com/2WMaT

Если нужна не четность, а нечетность — соответственно, x % 2 != 0.

Nicolas Chabanovsky's user avatar

ответ дан 7 сен 2011 в 1:54

drdaeman's user avatar

drdaemandrdaeman

9,2231 золотой знак19 серебряных знаков37 бронзовых знаков

3

def checker(number):
    try:
        number = int(number)
        if number % 2 == 1:
            print('непарное')
        if number % 2 == 0:
            print('парное')
    except:
        print('этот символ не номер')

checker(8)

ответ дан 16 июл 2020 в 22:19

Chipnick's user avatar

for x in range(000000, 1000000000):
  if x % 2 == 0:
    print(Chet)
  else:
    print(Nechet)

aleksandr barakin's user avatar

ответ дан 30 мая 2018 в 17:28

Amir Banov's user avatar

1

number = int(input("Введите число: "))
if (number/2):
    print("Четное число")
else:
    print("Нечетное число")

0xdb's user avatar

0xdb

51.3k194 золотых знака56 серебряных знаков229 бронзовых знаков

ответ дан 3 фев 2019 в 17:33

LIMONSTER's user avatar

number = int(input("Введите число: "))
if (number%2 == 0):
  print("Четное число")
else:
  print("Нечетное число")

ответ дан 22 июл 2018 в 9:27

Scanax's user avatar

1

number = int(input("Введите число: "))
if (number%2 > 0):
  print("Не чётное число =(")
else:
  print(number+2)

Regent's user avatar

Regent

19.1k6 золотых знаков28 серебряных знаков43 бронзовых знака

ответ дан 2 фев 2017 в 19:29

Николай's user avatar

2

Перейти к содержанию

На чтение 2 мин Просмотров 957 Опубликовано 26.07.2022

Содержание

  1. Введение
  2. Оператор % в Python
  3. Проверка числа на чётность в Python
  4. Заключение

Введение

В статье рассмотрим, как проверить число на чётность в Python.

Оператор % в Python

Для проверки чисел на чётность мы будем использовать оператор %. Для тех, кто не знаком с ним, объясню – при использовании оператора % итогом будет являться остаток от деления.

Допустим, у нас есть цифра 5, для проверки на чётность нужно проверить, делится ли оно нацело на 2. Используя оператор % это будет выглядеть следующим образом:

5 % 2

Рассчитаем ответ. В цифре 5 две двойки, т.е. нацело получилось разделить только цифру 4, а остаток равен единице, следовательно цифра 5 нечётная. Итоговый пример:

5 % 2 = 1

Проверка числа на чётность в Python

Я надеюсь стало понятнее, как работает оператор %, поэтому перейдём к написанию кода.

Для начала создадим переменную number, в которую пользователь будет вводить число:

number = int(input('Введите число: '))

Далее будет производиться проверка числа на чётность:

# Если число нацело делится на 2
if number % 2 == 0:
    print("Число чётное")
else:
    print("Число нечётное")

Примеры:

# Ввод: Введите число: 10
# Вывод: Число чётное
# Ввод: Введите число: 111
# Вывод: Число нечётное

Заключение

В статье мы с Вами научились производить проверку на чётность числа с помощью Python. Надеюсь Вам понравилась статья, удачи! 🙂

Admin

I’m trying to make a program which checks if a word is a palindrome and I’ve gotten so far and it works with words that have an even amount of numbers. I know how to make it do something if the amount of letters is odd but I just don’t know how to find out if a number is odd. Is there any simple way to find if a number is odd or even?

Just for reference, this is my code:

a = 0

while a == 0:
    print("n n" * 100)
    print("Please enter a word to check if it is a palindrome: ")
    word = input("?: ")

    wordLength = int(len(word))
    finalWordLength = int(wordLength / 2)
    firstHalf = word[:finalWordLength]
    secondHalf = word[finalWordLength + 1:]
    secondHalf = secondHalf[::-1]
    print(firstHalf)
    print(secondHalf)

    if firstHalf == secondHalf:
        print("This is a palindrom")
    else:
        print("This is not a palindrom")


    print("Press enter to restart")
    input()

mkrieger1's user avatar

mkrieger1

17.1k4 gold badges52 silver badges58 bronze badges

asked Feb 17, 2014 at 19:03

user3320350's user avatar

1

if num % 2 == 0:
    pass # Even 
else:
    pass # Odd

The % sign is like division only it checks for the remainder, so if the number divided by 2 has a remainder of 0 it’s even otherwise odd.

Or reverse them for a little speed improvement, since any number above 0 is also considered «True» you can skip needing to do any equality check:

if num % 2:
    pass # Odd
else:
    pass # Even 

answered Feb 17, 2014 at 19:05

DeadChex's user avatar

DeadChexDeadChex

4,3221 gold badge26 silver badges34 bronze badges

5

Similarly to other languages, the fastest «modulo 2» (odd/even) operation is done using the bitwise and operator:

if x & 1:
    return 'odd'
else:
    return 'even'

Using Bitwise AND operator

  • The idea is to check whether the last bit of the number is set or not. If last bit is set then the number is odd, otherwise even.
  • If a number is odd & (bitwise AND) of the Number by 1 will be 1, because the last bit would already be set. Otherwise it will give 0 as output.

Daniel Selvan's user avatar

answered Feb 17, 2014 at 19:07

lejlot's user avatar

lejlotlejlot

64k8 gold badges128 silver badges161 bronze badges

6

It shouldn’t matter if the word has an even or odd amount fo letters:

def is_palindrome(word):
    if word == word[::-1]:
        return True
    else:
        return False

answered Feb 17, 2014 at 19:05

kylieCatt's user avatar

kylieCattkylieCatt

10.5k5 gold badges41 silver badges51 bronze badges

3

One of the simplest ways is to use de modulus operator %. If n % 2 == 0, then your number is even.

Hope it helps,

answered Feb 17, 2014 at 19:05

Esteban Aliverti's user avatar

Esteban AlivertiEsteban Aliverti

6,2142 gold badges19 silver badges31 bronze badges

Use the modulo operator:

if wordLength % 2 == 0:
    print "wordLength is even"
else:
    print "wordLength is odd"

For your problem, the simplest is to check if the word is equal to its reversed brother. You can do that with word[::-1], which create the list from word by taking every character from the end to the start:

def is_palindrome(word):
    return word == word[::-1]

answered Feb 17, 2014 at 19:05

Maxime Lorant's user avatar

Maxime LorantMaxime Lorant

33.7k19 gold badges86 silver badges96 bronze badges

0

The middle letter of an odd-length word is irrelevant in determining whether the word is a palindrome. Just ignore it.

Hint: all you need is a slight tweak to the following line to make this work for all word lengths:

secondHalf = word[finalWordLength + 1:]

P.S. If you insist on handling the two cases separately, if len(word) % 2: ... would tell you that the word has an odd number of characters.

answered Feb 17, 2014 at 19:05

NPE's user avatar

NPENPE

480k105 gold badges940 silver badges1004 bronze badges

I’m trying to make a program which checks if a word is a palindrome and I’ve gotten so far and it works with words that have an even amount of numbers. I know how to make it do something if the amount of letters is odd but I just don’t know how to find out if a number is odd. Is there any simple way to find if a number is odd or even?

Just for reference, this is my code:

a = 0

while a == 0:
    print("n n" * 100)
    print("Please enter a word to check if it is a palindrome: ")
    word = input("?: ")

    wordLength = int(len(word))
    finalWordLength = int(wordLength / 2)
    firstHalf = word[:finalWordLength]
    secondHalf = word[finalWordLength + 1:]
    secondHalf = secondHalf[::-1]
    print(firstHalf)
    print(secondHalf)

    if firstHalf == secondHalf:
        print("This is a palindrom")
    else:
        print("This is not a palindrom")


    print("Press enter to restart")
    input()

mkrieger1's user avatar

mkrieger1

17.1k4 gold badges52 silver badges58 bronze badges

asked Feb 17, 2014 at 19:03

user3320350's user avatar

1

if num % 2 == 0:
    pass # Even 
else:
    pass # Odd

The % sign is like division only it checks for the remainder, so if the number divided by 2 has a remainder of 0 it’s even otherwise odd.

Or reverse them for a little speed improvement, since any number above 0 is also considered «True» you can skip needing to do any equality check:

if num % 2:
    pass # Odd
else:
    pass # Even 

answered Feb 17, 2014 at 19:05

DeadChex's user avatar

DeadChexDeadChex

4,3221 gold badge26 silver badges34 bronze badges

5

Similarly to other languages, the fastest «modulo 2» (odd/even) operation is done using the bitwise and operator:

if x & 1:
    return 'odd'
else:
    return 'even'

Using Bitwise AND operator

  • The idea is to check whether the last bit of the number is set or not. If last bit is set then the number is odd, otherwise even.
  • If a number is odd & (bitwise AND) of the Number by 1 will be 1, because the last bit would already be set. Otherwise it will give 0 as output.

Daniel Selvan's user avatar

answered Feb 17, 2014 at 19:07

lejlot's user avatar

lejlotlejlot

64k8 gold badges128 silver badges161 bronze badges

6

It shouldn’t matter if the word has an even or odd amount fo letters:

def is_palindrome(word):
    if word == word[::-1]:
        return True
    else:
        return False

answered Feb 17, 2014 at 19:05

kylieCatt's user avatar

kylieCattkylieCatt

10.5k5 gold badges41 silver badges51 bronze badges

3

One of the simplest ways is to use de modulus operator %. If n % 2 == 0, then your number is even.

Hope it helps,

answered Feb 17, 2014 at 19:05

Esteban Aliverti's user avatar

Esteban AlivertiEsteban Aliverti

6,2142 gold badges19 silver badges31 bronze badges

Use the modulo operator:

if wordLength % 2 == 0:
    print "wordLength is even"
else:
    print "wordLength is odd"

For your problem, the simplest is to check if the word is equal to its reversed brother. You can do that with word[::-1], which create the list from word by taking every character from the end to the start:

def is_palindrome(word):
    return word == word[::-1]

answered Feb 17, 2014 at 19:05

Maxime Lorant's user avatar

Maxime LorantMaxime Lorant

33.7k19 gold badges86 silver badges96 bronze badges

0

The middle letter of an odd-length word is irrelevant in determining whether the word is a palindrome. Just ignore it.

Hint: all you need is a slight tweak to the following line to make this work for all word lengths:

secondHalf = word[finalWordLength + 1:]

P.S. If you insist on handling the two cases separately, if len(word) % 2: ... would tell you that the word has an odd number of characters.

answered Feb 17, 2014 at 19:05

NPE's user avatar

NPENPE

480k105 gold badges940 silver badges1004 bronze badges

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

  • четным называют такое число, которое делится на 2 без остатка;

  • нечетным называют такое число, которое делится на 2 с остатком.

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

  • вначале получаем число, которое необходимо проверить на четность/нечетность;

  • делим число на 2;

  • если остаток будет равняться 0, тогда выводим сообщение о том, что число четное;

  • если остаток не будет равняться 0, тогда выводим сообщение о том, что число нечетное.

Алгоритм проверки во всех языках будет таким, однако для его реализации могут быть использованы разные операторы.

Проверка чисел на четность в С/С++ 

Чтобы проверить числа на четность в языке С/С++, вычисляют остаток числа при делении на 2, используя оператор «%». Например:

#include <iostream> 

using namespace std;

 int main()

 { 

int x; 

cout << «Введите число для проверки: «;

 cin >> x; 

if ( x % 2 == 0)

 cout << x << » это четное число.»;

 else

 cout << x << » это нечетное число.»; 

return 0; 

}

Проверка на четность в Си является несложной операцией. Давайте посмотрим, как происходит дело в других языках.

Проверка чисел на четность в Python 

Проверка чисел на четность в Python происходит так же, как и в С/С++,при помощи оператора «%», который вычисляет остаток от деления. Если остаток равен 0, значит, число четное.

Вот как это выглядит:

number = int(input(“Введите число для проверки: “))

if (number % 2) == :

   print(number + “это четное число“)

else

   print(number + “это нечетное число“)

Проверка числа на четность в Java

В Java проверка на четность происходит при помощи того же оператора «%», как и в предыдущих двух примерах. Однако написание программы выглядит немного громоздким:

import java.util.Scanner;

public class Even_Number_Odd {

              public static void main(String[] args) {

                 Scanner reader = new Scanner(System.in);

                 System.out.print(«Введите число для проверки: «);

        int number = reader.nextInt();

                  if(number % 2 == 0)

            System.out.println(number + » это четное число»);

        else

            System.out.println(number + » это нечетное число»);

    }

  }

Проверка числа на четность в PHP

В PHP проверка числа на четность также осуществляется при помощи оператора «%». Выглядит это следующим образом:

<?php

function_check($num){

    if($num % 2 == 0) {

        echo “$num  это четное число“;

}

      else{

        echo “$num  это нечетное число“;

}

?>

Проверка числа на четность в JavaScript

В JS проверка числа на четность также происходит при помощи оператора «%», и выглядит это следующим образом:

const number = prompt(«Введите число для проверки: «);

         if(number% 2 == 0) {

    console.log(«Это четное число»);

else {

    console.log(«Это нечетное число»);

}

Заключение

В нашей статье мы показали, как происходит проверка на четность в некоторых языках программирования: С/С++, Python, Java, PHP, JavaScript. Несложно заметить, что везде проверка проходит с применением оператора «%» и по одинаковому алгоритму. В других языках проверка на четность будет проходить по такому же алгоритму, но с применением специфики языка.

Из этого руководства вы узнаете, как определить четность числа (т.е. проверить, является ли оно четным). Также мы разберем, как работает оператор деления по модулю в Python.

Начнем с определений. Четное число делится на два без остатка, а нечетное не делится. В Python четность числа можно проверить с использованием оператора деления по модулю (%).

Оператор деления по модулю

В Python оператор деления по модулю (%) возвращает остаток от деления двух чисел. Используется он так:

a % b

Если эта операция возвращает 0, это означает, что a делится на b поровну.

Например, если у вас есть 15 кусков пиццы для трех человек и вы хотите проверить, можно ли разделить пиццу на всех поровну, вы можете использовать оператор %:

print(15 % 3)

# Результат:
# 0

Как при помощи оператора % проверить четность числа?

Оператор деления по модулю возвращает остаток от деления. По определению, четное число делится на 2 нацело, а нечетное не делится. В контексте оператора % это означает, что деление по модулю нечетного числа на 2 возвращает 1 в качестве остатка, а деление четного возвращает 0.

Как проверить, является ли число четным?

Оператор деления по модулю позволяет найти остаток от деления. При делении четного числа на 2 остаток равен 0.

Чтобы написать программу для проверки четности числа:

  • найдите остаток от деления заданного числа на 2
  • при помощи оператора сравнения проверьте, равен ли остаток 0

Например, давайте проверим, является ли число 9 четным:

number = 9

is_even = number % 2 == 0

print(is_even)

# Результат:
# False

Как проверить, является ли число нечетным

Аналогично определяется нечетность числа. Остаток от деления нечетного числа на 2 равен 1.

Чтобы написать программу для проверки нечетности числа:

  • найдите остаток от деления заданного числа на 2
  • при помощи оператора сравнения проверьте, равен ли остаток 1

Например, давайте проверим, является ли число 11 нечетным:

number = 11

is_odd = number % 2 == 1

print(is_odd)

# Результат:
# True

Пример 1. Функция для проверки четности числа

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

Чтобы улучшить качество и читабельность кода, можно реализовать функции для проверки четности/нечетности входного числа. Таким образом вы сможете повторно использовать код, вызывая функцию по имени.

Вот две функции для определения четности и нечетности числа (соответственно):

def is_even(n):
    return n % 2 == 0

def is_odd(n):
    return n % 2 != 0

Теперь вы можете использовать эти функции в любом месте вашего кода бесконечное количество раз.

Например:

print(is_odd(10))
print(is_even(6))

# Результат:
# False
# True

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

Обычная задача для начинающих питонистов – принять пользовательский ввод и проверить, является ли он четным/нечетным. Вот программа, которая сделает это за вас:

number = int(input("Введите число: "))

if number % 2 == 0:
    print("Число четное")
else:
    print("Число нечетное")

Пример вывода:

Введите число: 16
Число четное

В этом коде:

  • функция input() принимает ввод пользователя в консоли
  • вызов int() преобразует введенную строку в целое число
  • оператор if-else проверяет, делится ли введенное число на 2.

Итоги

Сегодня вы узнали, как с помощью Python определить четность числа.

Если оператор деления по модулю % при делении числа на 2 возвращает 0, значит, число делится на 2 без остатка и, следовательно, является четным. Если оператор % возвращает 1, значит, число нечетное.

Спасибо за внимание!

Перевод статьи Artturi Jalli «Python How to Check If a Number Is Odd or Even (Examples)».

Понравилась статья? Поделить с друзьями:
  • Как написать на питоне что число нечетное
  • Как написать на питоне привет имя
  • Как написать на питоне игру угадай число
  • Как написать на письме кому куда
  • Как написать на передачу экстрасенсы ведут расследование