Перейти к содержимому

Как определить трехзначное число в питоне

  • автор:

Вычисления

Вы считаете, что арифме­тиче­ские операции — это просто? Пересчитайте. На самом деле, всё не так страшно, но рас­слабляться не стоит. Начнём со всем знакомой чет­вер­ки:

print ( 10 + 10 )
# 10
print ( 10 — 5 )
# 5
print ( 11 * 7 )
# 77
print ( 10 / 2 )
# 5.0

Никаких неожиданностей, правда? Не совсем, посмотрите внимательно на операцию деле­ния. Заметили? Мы разделили целое число на его делитель, но несмотря на это, результат имеет тип float. Взглянем на операцию деления чуть более пристально:

print ( 10 / 2 )
# 5.0
print ( 100 / 3 )
# 33.333333333333336
print ( 21 / 4 )
# 5.25
print ( 23 / 7 )
# 3.2857142857142856

Иногда можно увидеть такие приколы:

print ( 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 )
# 0.7999999999999999
print ( 0.1 + 0.2 )
# 0.30000000000000004
print ( 7 / 3 )
# 2.3333333333333335

Еще немного математики. Математика в каждый дом!

# Возведение в степень
print ( 10 * * 2 )
# 100
print ( 2 * * 4 )
# 16
print ( 3 * * 0.5 )
# 1.7320508075688772
print ( 3 * * -2 )
# 0.1111111111111111
# Остаток от деления
print ( 11 % 4 )
# 3
print ( 101 % 7 )
# 3
print ( 34 % 5 )
# 4
# Деление нацело
print ( 20 // 4 )
# 5
print ( 129 // 11 )
# 11
print ( 100 // 61 )
# 1

Операции сравнения в python

Операции сравнения в отличие от арифметические имеют всего два результата: True и False. Чаще всего такие операции используются в условии циклов, условных оператов, а также в некоторых функциях, например, filter.

# Операция равенства: True, если X равен Y
print ( 10 == 10 )
# True
print ( 666 == 661 )
# False
# Операция неравенства: True, если X не равен Y
print ( 666 != 661 )
# True
print ( 666 != 666 )
# False
# Операция больше: True, если X больше Y
print ( 120 > 2 )
# True
print ( 1000 > 1999 )
# False
# Операция меньше: True, если X меньше Y
print ( 121 120 )
# False
print ( 0 1 )
# True
# Операция меньше или равно: True, если X меньше или равен Y
print ( 6 6 )
# True
print ( 5 2 )
# False
# Операция больше или равно: True, если X больше или равен Y
print ( 1000 >= 10000 )
# False
print ( 9999 >= 9999 )
# False

Логические операции

Логические операции, как и операции сравнения, имеют всего два возможных результата: True и False. Используются для объединения операций сравнения в условиях циклов и условных оператов

# Оператор «and» или конъюнкция.
# True, если и выражение X, и выражение Y равны True
print ( 10 == 10 and 10 > 2 )
# True
print ( 666 == 661 and 9 > 0 )
# False
# Оператор «or» или дизъюнкция.
# True, если или выражение X, или выражение Y равны True
print ( 666 == 661 or 9 > 0 )
# True
print ( 666 == 661 or 9 0 )
# False
# Оператор » not » или инверсия меняет значение на противоположное.
# True, если выражение X равно False
print ( not 120 > 2 )
# False
print ( not 1000 999 )
# True
print ( not ( 121 121 and 10 == 2 ))
# True

Округление чисел в python

Всё дело в округлении! В python есть несколько заме­ча­тель­ных функций, которые округ­ляют число до указанного знака. Одной из таких функций является round :

pi = 3.14159265358979323846264338327
print ( round (pi, 1 ))
# 3.1
print ( round (pi, 2 ))
# 3.14
print ( round (pi, 3 ))
# 3.12
print ( round (pi, 4 ))
# 3.1416
print ( round (pi, 10 ))
# 3.1415926536
print ( round (pi, 15 ))
# 3.141592653589793

Рассмотрим любопытный пример:

print ( round ( 2.5 ))
# 2
print ( round ( 3.5 ))
# 4

Если на вашем лице застыл немой вопрос: «почему?», то я вас понимаю. В школе нас учили, что дроби 1.1, 1.2, 1.3, 1.4 округляются до единицы, а 1.5, . 1.9 до двойки. Но python думает по-другому. Есть два типа округления: арифметическое и банковское. Именно арифметическому округлению вас учили в школе. Python использует как раз-таки банковское округление, его еще называют округлением до ближайшего четного. Приведу еще несколько примеров:

print ( round ( 10.51213 ))
# 11
print ( round ( 23.5 ))
# 24
print ( round ( 22.5 ))
# 22

Примеры решения задач

Есть N оранжевых конфет и K учеников, сколько достанется каждому из них, если разделить их поровну? Сколько конфет останется после дележа?

n = int ( input ( ‘Введите количество конфет: ‘ ))
k = int ( input ( ‘Введите количество учеников: ‘ ))
a = n // k
b = n % k
print ( ‘Каждому по’ , a)
print ( ‘Осталось’ , b)

Даны стороны прямоугольника a и b. Вычислите периметр, площадь и диагональ прямоугольника.

a = int ( input ( ‘Введите a: ‘ ))
b = int ( input ( ‘Введите b: ‘ ))
s = a * b
p = 2 * (a + b)
d = (a * * 2 + b * * 2 ) * * 0.5
print ( ‘Площадь:’ , a)
print ( ‘Периметр:’ , b)
print ( ‘Диагональ:’ , c)

Дано число секунд n на секундомере. Посчитайте прошедших минут и секунд.

n = int ( input ( ‘Введите n: ‘ ))
m = n // 60
s = n % 60
print ( str (m) + ‘:’ + str (s))

Решение задач

1. Дано целое число A. Проверить истинность высказывания: «Число A является четным».

2. Дано целое число A. Проверить истинность высказывания: «Число A является нечетным».

3. Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».

4. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Хотя бы одно из чисел A, B, C положительное».

5. Дано четырехзначное число. Проверить истинность высказывания: «Данное число читается одинаково слева направо и справа налево».

6. Дано число секунд n на часах. Посчитайте прошедших часов, минут и секунд.

7. Дано натуральное число. Выведите его последнюю цифру.

8. Дано положительное действительное число X. Выведите его дробную часть.

9. Дано положительное действительное число X. Выведите его первую цифру после десятичной точки.

10. Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Программа получает на вход три числа: a, b, n, и должна вывести два числа: стоимость покупки в рублях и копейках.

11. Дано натуральное число. Найдите число десятков в его десятичной записи.

12. Дано двузначное число. Найдите сумму его цифр.

13. Дано трехзначное число. Найдите сумму его цифр.

14. Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

15. Дано трехзначное число. Проверить истинность высказывания: «Цифры данного числа образуют возрастающую или убывающую последовательность».

16. С начала суток прошло N секунд (N — целое). Найти количество часов, минут и секунд на электронных часах.

Сумма цифр трехзначного числа

Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.

В языках программирования почти всегда есть две операции:

1) нахождение целого при делении нацело,

2) нахождение остатка при делении нацело.

В языке программирования Python первая операция обозначается // (двумя знаками деления), а вторая — % (знаком процента). Например:

>>> 34 // 10 3 >>> 34 % 10 4

Примечание. Операции деления нацело и нахождения остатка с точки зрения арифметики применимы только к целым числам. Но в Python их можно использовать и по отношению к дробным числам:

>>> 34.5 % 10 4.5 >>> 34.5 // 10 3.0 >>> 34.5 // 12.9 2.0

Алгоритм нахождения суммы цифр трехзначного числа abc (где a — сотни, b — десятки и c — единицы) можно описать так:

  1. Найти остаток от деления abc на 10, записать его в переменную d1 . Это будет цифра c.
  2. Избавиться от цифры c в числе abc, разделив его нацело на 10.
  3. Найти остаток от деления ab на 10, записать его в переменную d2 . Это будет цифра b.
  4. Избавиться от цифры b в числе ab, разделив его нацело на 10.
  5. Число a однозначное. Это еще одна цифра исходного числа.
  6. Сложить оставшееся число a со значениями переменных d1 и d2 .
n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 n = n // 10 d2 = n % 10 n = n // 10 print("Сумма цифр числа:", n + d2 + d3)

Пример выполнения программы:

Введите трехзначное число: 742 Сумма цифр числа: 13

Однако, если нам известно, что число состоит из трех разрядов (цифр), есть немного другой способ извлечения цифр из числа:

  1. Остаток от деления на 10 исходного числа дает последнюю цифру числа.
  2. Если найти остаток от деления на 100 исходного числа, то мы получи последние две цифры числа. Далее следует разделить полученное двухзначное число нацело на 10, и у нас окажется вторая цифра числа.
  3. Если исходное трехзначное число разделить нацело на 100, то получится первая цифра числа.
n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 d2 = n % 100 // 10 d3 = n // 100 print("Сумма цифр числа:", d1 + d2 + d3)

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

n = input("Введите трехзначное число: ") # Извлекается первый[0] символ строки, # преобразуется к целому. # Аналогично второй[1] и третий[2]. a = int(n[0]) b = int(n[1]) c = int(n[2]) print("Сумма цифр числа:", a + b + c)

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

В этом случае надо воспользоваться функциями randint() , randrange() или random() из модуля random . Первым двум функциям передаются диапазоны: randint(100, 999) , randrange(100, 1000) . Получить трехзначное число, используя random() немного сложнее:

# Функция random генерирует # случайное дробное число от 0 до 1 from random import random # При умножении на 900 получается случайное # число от 0 до 899.(9). # Если прибавить 100, то получится # от 100 до 999.(9). n = random() * 900 + 100 # Отбрасывается дробная часть, # число выводится на экран n = int(n) print(n) # Извлекается старший разряд числа # путем деления нацело на 100 a = n // 100 # Деление нацело на 10 удаляет # последнюю цифру числа. # Затем нахождение остатка при # делении на 10 извлекает последнюю цифру, # которая в исходном числе была средней. b = (n // 10) % 10 # Младший разряд числа находится # как остаток при делении нацело на 10. c = n % 10 print(a+b+c)

X Скрыть Наверх

Решение задач на Python

Трехзначное число (Python)

Вход через что реализован? Если через input и не требуется проверка на то, число ли это:

if len(input()) == 3: print(‘ДА’)

Если надо Да-НЕТ, то как-то так бы написал:

print(‘ДА’ if len(input()) == 3 else ‘НЕТ’)

Если нужна проверка:

try:
print(‘ДА’ if len(int(input())) == 3 else ‘НЕТ’)
except ValueError:
print(‘НА ВХОД ПОДАНО НЕ ЦЕЛОЕ ЧИСЛО’)

P.S. Посмотрите вариант Victor Surozhtsev:
Там логика подхода другая — сравнивать значение числа, вполне возможно, что будет работать быстрее, если у вас в задаче строгое ограничение на время.

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

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

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

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