На чтение 2 мин Просмотров 69к. Опубликовано
Для того чтобы определить четное число введено или нет в 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 и выводит на печать «Четное число» или «Нечетное число». Условие, которое написано в функции мы рассмотрели уже ранее.
Как видим, определить четность числа — это довольно простая задача, которая быстро решается с помощью оператора остатка от деления (%).
Понимаю, что надо делить на 2 и смотреть на остаток. Вот что пытался делать.
if ( not line%2 ):
print 'chek true'
Kromster
13.3k12 золотых знаков41 серебряный знак70 бронзовых знаков
задан 7 сен 2011 в 1:41
Возможен и такой вариант:
for x in (0, 1, 2, 3, 4):
if not x & 1:
print "%d is even" % x
ответ дан 8 сен 2011 в 6:54
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
.
ответ дан 7 сен 2011 в 1:54
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
for x in range(000000, 1000000000):
if x % 2 == 0:
print(Chet)
else:
print(Nechet)
ответ дан 30 мая 2018 в 17:28
1
number = int(input("Введите число: "))
if (number/2):
print("Четное число")
else:
print("Нечетное число")
0xdb
51.3k194 золотых знака56 серебряных знаков229 бронзовых знаков
ответ дан 3 фев 2019 в 17:33
number = int(input("Введите число: "))
if (number%2 == 0):
print("Четное число")
else:
print("Нечетное число")
ответ дан 22 июл 2018 в 9:27
1
number = int(input("Введите число: "))
if (number%2 > 0):
print("Не чётное число =(")
else:
print(number+2)
Regent
19.1k6 золотых знаков28 серебряных знаков43 бронзовых знака
ответ дан 2 фев 2017 в 19:29
2
Перейти к содержанию
На чтение 2 мин Просмотров 957 Опубликовано 26.07.2022
Содержание
- Введение
- Оператор % в Python
- Проверка числа на чётность в Python
- Заключение
Введение
В статье рассмотрим, как проверить число на чётность в 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. Надеюсь Вам понравилась статья, удачи! 🙂
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
17.1k4 gold badges52 silver badges58 bronze badges
asked Feb 17, 2014 at 19:03
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
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.
answered Feb 17, 2014 at 19:07
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
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 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 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
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
17.1k4 gold badges52 silver badges58 bronze badges
asked Feb 17, 2014 at 19:03
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
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.
answered Feb 17, 2014 at 19:07
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
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 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 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
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)».