This is хорошо питон

#4 Python для Data Science — инструкции if в Python

Инструкции if (если) используются в повседневной жизни постоянно, пусть она и не написана на Python. Если горит зеленый, тогда можно переходить дорогу; в противном случае нужно подождать. Если солнце встало, тогда нужно выбираться из постели; в противном случае можно продолжать спать. Возможно, все не настолько строго, но когда действия выполняются на основе условий, мозг делает то же самое, что и компьютер — оценивает условия и действует в зависимости от результата.

Однако у компьютера нет подсознания, поэтому для занятий data science нужно понимать, как работает инструкция if, и как ее использовать в Python!

Это практическое руководство! Желательно повторять те части, где нужно писать код, и решать задачи в конце статьи! Также рекомендуется вернуться к прошлым материалам, если вы еще не ознакомились с ними:

Основы инструкций if в Python

Логика инструкции if очень проста.

Логика инструкции if

Предположим, что есть два значения: a = 10 и b = 20 . Сравниваем эти два значения. Сравнение даст один из двух выводов: True или False . (Проверьте в своем Jupyter Notebook)

Читайте также:  Login

Сравниваем два значения

Можно пойти дальше и написать условие: if a == b вернет True , тогда вывести ‘yes’ . Если False — тогда ‘no’ . И это все — это логика инструкций if в Python. Синтаксис следующий:

a = 10 b = 20 if a == b: print('yes') else: print('no') 

Логика инструкций if в Python

Запустите этот скрипт в Jupyter Notebook. Очевидно, что результат будет ‘no’ .

Теперь попробуйте то же самое, но со значением b равным 10 .

a = 10 b = 10 if a == b: print('yes') else: print('no') 

На этот раз сообщение будет ‘yes’ .

Синтаксис инструкции if в Python

Нужно рассмотреть синтаксис подробно, потому что в нем есть строгие правила. Основы просты:

Синтаксис инструкции if в Python

  • ключевое слово if
  • условие
  • инструкция
  • ключевое слово else
  • другая инструкция

Но есть две вещи, о которых нужно всегда помнить:

  1. Никогда не пропускать двоеточие в конце строк if и else !
    Никогда не пропускать двоеточие в конце строк
  2. Никогда не пропускать отступы в начале строк с инструкциями!
    Никогда не пропускать отступы в начале строк

Если что-то из этого пропустить, вернется сообщение об ошибке с текстом «invalid syntax», а скрипт не будет работать.

Инструкции if в Python — 2-й уровень

Теперь, когда вы знаете основы, пришло время сделать условия более сложными: с помощью арифметики, сравнений и логических операторов. (Примечание: если слово «оператор» ни о чем не говорит, лучше вернуться к первому материалу из серии).

a = 10 b = 20 c = 30 if (a + b) / c == 1 and c - b - a == 0: print('yes') else: print('no') 

Код вернет yes , поскольку оба условия, (a + b) / c == 1 и c — b — a == 0 вернут True , а логический оператор между ними — это and .

В инструкции if можно использовать несколько операторов

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

Инструкции if в Python — 3-й уровень

Можно перейти на еще один уровень выше, используя ключевое слово elif (это короткая форма фразы «else if») для создания последовательностей условий. «Последовательность условий» звучит красиво, но на самом деле — это всего лишь инструкция if , вложенная в другую инструкцию if :

Ключевое слово elif

a = 10 b = 11 c = 10 if a == b: print('first condition is true') elif a == c: print('second condition is true') else: print('nothing is true. existence is pain.') 

Очевидно, что результат будет «second condition is true» .

Последовательность if-elif-else

Это можно делать миллионы раз и построить огромную последовательность if-elif-elif-elif, если хочется, конечно.

И это более-менее все, что нужно знать об инструкциях if в Python. А теперь:

Проверьте себя

Вот случайное целое число: 918652728452151 .

Нужно узнать две вещи о нем:

Если оба условия верны, тогда вернем super17 .

Если одно из них ложно, тогда стоит запустить второй тест:

Если оба условия верны, тогда вернем awesome13 .

Если оригинальное число не определяется ни как super17 , ни как awesome13 , тогда выведем просто meh, this is just an average random number .

Итак: является ли число 918652728452151 super 17 или awesome13 или это просто случайное число?

Решение

918652728452151 — это число super17 .

Инструкции if в Python — задача

my_number = 918652728452151 if my_number % 17 == 0 and len(str(my_number)) > 12: print("super17") elif my_number % 13 == 0 and len(str(my_number)) > 10: print("awesome13") else: print("meh, this is just a random number") 

В первой строке число 918652728452151 сохраняется в переменную, так что его не придется записывать каждый раз, а код будет смотреться изящнее: my_number = 918652728452151 .

После этого создается последовательность условия if-elif-else.

В строке if есть два условия. Первое — проверка, делится ли my_number на 17 без остатка. Это часть my_number % 17 == 0 . Во втором нужно подсчитать количество цифр в my_number . Из-за ограничений языка сделать это нельзя, поэтому нужно преобразовать число в строку с помощью функции str() . После этого необходимо использовать функцию len() и узнать количество символов. Это часть len(str(my_number)) .

Выходит, что оба оригинальных условия были верны, потому что на экран вывелось super17 . Но если бы это было не так, следующая строка elif проделала бы то же самое, но проверяла, делится ли число на 13 (а не 17), а символов должно было быть больше 10 (не 12).

Если бы и это условие оказалось ложным, инструкция else запустила бы print(«meh, this is just an average random number») .

Не так уж и сложно, не правда ли?

Итого

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

В следующий раз речь пойдет о циклах for в Python.

Источник

Python больше или равен

Python, больше или равный) оператор возвращает True, когда его левый операнд не превышен правой операндом. Когда левый операнд меньше, чем правый операнд, возвращается ложь. Например, и оцените в True, но оценивают ложь. https://youtu.be/e59ngtw1mns Примеры, давайте рассмотрим … Python, больше или равный Подробнее »

Python, превышающий или равно ( левый> = правый ) Оператор возвращает Правда когда его левый Операнд не превышен его правильно операнд. Когда левый Операнд меньше правильно Операнд, > = Оператор возвращает Ложь Отказ Например, 3> = 2 и 3> = 3 Оценить в Правда , но 2> = 3 оценивает Ложь Отказ

Примеры

Давайте рассмотрим пару примеров относительно больше или равно оператор.

Что около 2 больше или равно 3?

Что около 2 больше или равно 2?

Можете ли вы сравнить коллекции, такие как списки?

>>> [1, 2] >= [99] False >>> [1, 2] >= [0] True >>> [1, 2] >= [1, 2, 3] False >>> [1, 2] >= [1, 1, 3] True >>> [1, 2] >= [1, 2] True

Список “больше или равно” Оператор итерации по поводу списков и чеки вправо, если I-й элемент левого операнда, по меньшей мере, такой же большой, как I-й элемент правого операнда. Вы можете найти подробное обсуждение больше или равно оператору с списком операндов ниже.

Можете ли вы использовать больше или равно оператору на пользовательские объекты? Да!

Python больше или равно перегрузке

Чтобы использовать «больше или равно» оператора на пользовательских объектах, вы можете использовать Перегрузка из __ge __ () Метод Dunder (короткий для: G Reater, чем e qual to ). Метод занимает два аргумента: Я и Другое И это возвращает логическое значение. Вы можете использовать атрибуты аргументов, чтобы определить, будет ли один или равный другому.

В следующем коде вы проверяете, если человек больше или равен другому человеку, используя возраст атрибут Как критерий решения:

class Person: def __init__(self, age): self.age = age def __ge__(self, other): return self.age >= other.age alice = Person(10) bob = Person(12) print(alice >= bob) # False print(bob >= alice) # True print(bob >= bob) # True

Потому что Алиса 10 лет, и Боб 12 лет, результат Алиса это Ложь и Боб это Правда Отказ Если вы сравните Человек Объект с самим собой, возраст атрибут равен, поэтому результат будет Правда Отказ

Python не больше или равен

Инвертировать больше или равный оператор > = , вы можете использовать выражение не х со значением «меньше, чем». Итак, вы можете использовать выражение х в большинстве случаев. Только если вы перегружете __ge__ Метод DUNDER, чтобы определить свой собственный «больше или равный» оператор, мог бы семантика между не и х отличаться.

>>> x = 10 >>> y = 20 >>> not x >= y True >>> x < y True

Python, если заявление больше или равно

Python больше или равен > = Оператор может быть использован в Если заявление как выражение, чтобы определить, должен ли выполнить ветку или нет. Например, это состояние x> = 3 Проверяет, если значение переменной х больше или равно 3, а если да, то входит в ветку IF.

Следующий код просит пользователя вводить свой возраст, используя вход () функция. Затем он проверяет, если пользовательский ввод, при преобразовании в целое число, используя int () , по крайней мере 18. Если так, это входит в Если ветка. Если нет, это входит в еще ветка.

x = int(input('your age: ')) if x >= 18: print('you can vote') else: print('you cannot vote - sorry')

Вот пример выполнения этого кода, где введен ветвь IF:

Вот пример исполнения, где IF ветвь не введена:

your age: 17 you cannot vote - sorry

Питон цепи больше или равен

Python позволяет цепи больше или равно оператор. Например, выражение 18 проверил ли переменную х составляет от 5 до 18, оба включены. Формально выражение х это лишь сокращение выражения для (х) и (y) Отказ

Вот минимальный пример, который проверяет, является ли переменная х составляет от 5 до 18 (включая).

x = 8 # Is x between 5 and 18? if 18 >= x >= 5: print('yes') # Output: yes

Код входит в ветку IF, потому что это условие, если выполняется.

Python больше или равен в списках

Список “больше или равно” Оператор ITERATET по поводу списков и чеки вправо, если i-й элемент левого операнда больше или равен i-го элемента правого операнда.

>>> [1, 2] >= [99] False >>> [1, 2] >= [0] True >>> [1, 2] >= [1, 2, 3] False >>> [1, 2] >= [1, 1, 3] True >>> [1, 2] >= [1, 2] True
  • [1, 2]> = [99] Отказ Python первые чеки 1 который является Ложь Так что это сразу возвращает Ложь Отказ
  • [1, 2]> = [0] Отказ Python первые чеки 1 который является Правда Отказ
  • [1, 2]> = [1, 2, 3] Отказ Python сначала сравнивает 1 и 1-я галстук! Итак, он перемещается ко второму элементам 2 и 2-галстук! Итак, он движется к третьим элементам в качестве галстука. Но только второй список имеет третий элемент, поэтому он считается больше, чем первый, и результат операции является Ложь Отказ
  • [1, 2]> = [1, 1, 3] Отказ Python сравнивает элементы 1 и 1 – галстук! Но затем он сравнивает второе элементы 2 и 1 и определяет, что первое больше, чем второе, поэтому результат является Правда Отказ
  • [1, 2]> = [1, 2] Отказ Python первые чеки 1 а потом проверяет 2> = 2 Отказ Все еще галстук, поэтому результат – Правда как они равны.

Тот же метод также относится к строкам и другим типам последовательности в Python, таких как кортежи.

Все больше или равно ничего?

Вы не можете использовать больше или равно оператору Нет как один из его операндов. Python 3 ожидает, что оба операнда реализуют Сопоставимый интерфейс , но тип ни одного нет. Вот почему Python поднимает Типеррор Если вы попытаетесь сравнить переменные с Нет Отказ

>>> 21 >= None Traceback (most recent call last): File "", line 1, in 21 >= None TypeError: '>=' not supported between instances of 'int' and 'NoneType'

Операторы сравнения

Сравнение операторов применяются к сопоставимым объектам, и они возвращают логическое значение ( True или false ).

Оператор Имя Описание Пример
> Больше чем Возвращает true, если левый операнд больше, чем правильный операнд 3 > 2
Меньше, чем Возвращает true, если левый операнд меньше, чем правильный операнд 3 < 2
== Равно Возвращает true, если левый операнд такой же, как правильный операнд (3)
!= Не равно Возвращает true, если левый операнд не такой, как правильный операнд (3)
>= Больше или равно Возвращает true, если левый операнд больше или равен правой операнду (3)
Меньше или равно Возвращает true, если левый операнд меньше или равен правой операнду (3)

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

Читайте ещё по теме:

Источник

Оцените статью