Узнайте об условных операторах и циклах в Python

Что делать, если вы хотите выполнить некоторые конкретные задачи, когда строка «Python», и некоторые другие задачи, когда строка «Java». Для достижения этого условия мы можем использовать условные операторы в python или любом другом языке. Когда мы хотим выполнить какую-то задачу n раз или хотим пройтись по некоторому определенному списку, мы можем использовать различные типы циклов в такой ситуации.

Условные операторы в Python

В Python у нас есть два типа условных операторов.

  1. Если еще
  2. if-elif-else (если — еще если — еще)

Оба условных оператора кажутся почти похожими, и на самом деле так оно и есть. Между этими двумя утверждениями есть лишь небольшая разница. Мы поймем эту разницу, используя примеры кода. Если вы знаете какой-либо другой язык (языки), вам может быть интересно, есть ли в python регистр переключателей или нет. НЕТ, у python нет переключателя.

если еще

Синтаксис:

if(conditional expresson):
    statement
else:
    statement

Если бы я объяснил оператор if-else простым английским языком, то это был бы оператор «либо то, либо то».

Предположим, что если строка является java, я хочу сделать сумму двух чисел, иначе я хочу умножить два числа.

num1 = 5
num2 = 2
lang = 'java'
if(lang=="java"): # check if value of lang variable is 'java'
    c = num1 + num2
    print(c)
else:
    c = num1 * num2
    print(c)
# OUTPUT: 7
num1 = 5
num2 = 2
lang = 'java'
if(lang!="java"): # check if value of lang variable is NOT 'java'
    c = num1 + num2
    print(c)
else:
    c = num1 * num2
    print(c)
# OUTPUT: 10

Не обязательно использовать часть else. Вы также можете использовать только часть if. Например, добавьте строку «Программирование» к существующей строке, если это «Python» или ничего не делает.

lang = 'Python'
if(lang=="Python"):
    lang = lang +" Programming"
print(lang)
# Output: Python Programming

lang = 'Java'
if(lang=="Python"):
    lang = lang +" Programming"
print(lang)
# Output: Java

Иногда вы можете перейти к оператору if, используя только переменные. Например,

lang = 'Python'
if(0):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python
lang = 'Python'
if(1):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python Programming
lang = 'Python'
if(True):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python Programming
lang = 'Python'
if(False):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python
lang = 'Python'
if(""):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python
lang = 'Python'
if("random string"):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python Programming
lang = 'Python'
if(None):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python
lang = 'Python'
if([1]):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python Programming
lang = 'Python'
if([]):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python
lang = 'Python'
if({'a':1}):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python Programming
lang = 'Python'
if({}):
    lang = lang +" Programming"
print(lang)
# OUTPUT: Python

Если мы хотим объединить несколько условий, мы можем использовать «и» и «или» в операторе if.

lang = 'PYTHON'
if(lang.isupper() and len(lang) > 2):
    print("Worked!")
# OUTPUT: Worked!
if(lang.islower() or len(lang) == 6):
    print("Worked again!")
# OUPUT: Worked again!

если-элиф-еще

Синтаксис:

if(conditional expresson):
    statement
elif(conditional expresson):
    statement
else:
    statement

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

marks = 75
if(marks >= 34 and marks <= 50):
    print("Grade C!")
elif(marks > 50 and marks <= 75):
    print("Grade B!")
elif(marks > 75 and marks <= 100):
    print("Grade A!")
elif(marks >= 0 and marks < 34):
    print("FAIL!")    
else:
    print("Something is wrong!")
# OUTPUT: Grade A!

Будьте внимательны при использовании нескольких тегов if и if-elif. Одна ошибка в вашей логике и вся ваша кодовая база могут вызвать ошибку. Чтобы понять это, см. приведенный ниже пример.

marks = 75
if(marks > 75 and marks <= 100):
    print("Grade A!")
elif(marks > 50):
    print("Grade B!")
elif(marks >=34):
    print("Grade C!")
else:
    print("Something is wrong!")
print("-----------------------------------")
marks = 75
if(marks > 75 and marks <= 100):
    print("Grade A!")
if(marks > 50):
    print("Grade B!")
if(marks >=34):
    print("Grade C!")
"""    OUTPUT:
Grade B!
-----------------------------------
Grade B!
Grade C!
"""

Циклы в Python

В питоне у нас есть два вида циклов.

  1. для цикла
  2. пока цикл
  3. Операторы управления циклом

для цикла в Python

Синтаксис:

for iterator in sequence:
    statement(s)

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

fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    print(fruit)
""" OUTPUT:
apple
banana
mango
grapes
peach
"""
for i in range(len(fruits)):
    print(fruits[I])
""" OUTPUT:
apple
banana
mango
grapes
peach
"""

В первом примере выше в переменной fruit мы напрямую получаем каждый элемент списка фруктов. Принимая во внимание, что во втором примере мы обращаемся к каждому элементу по индексной ссылке. Функция range(n) возвращает последовательность чисел. Синтаксис: range(start, stop, step).

for i in range(2, 13, 3):
    print(i)
""" OUTPUT: 
2
5
8
11
"""

Мы также можем использовать цикл for со словарями.

dict1 = {"lang": "python", "year": "2021", "month": "november"}
for item in dict1:
    print(item, ":" , dict1[item])
""" OUTPUT:
lang : python
year : 2021
month : november
"""

в то время как цикл в Python

Синтаксис:

while expression:
    statement(s)

Когда вам нужно повторять какую-то работу до тех пор, пока какое-то условие не будет удовлетворено, в этой ситуации вы можете использовать цикл while.

Предположим, нам нужно напечатать «Hello World», пока переменная count не станет равной 5.

count = 0
while (count < 5):   
    print("Hello World")
    count = count + 1

Операторы управления циклом

Бывают случаи, когда вам нужно разорвать цикл или пропустить некоторые итерации в цикле или ничего не делать. Такого рода вещи можно сделать с помощью операторов управления циклом. В python у нас есть три оператора управления циклом.

  1. Заявление о перерыве
  2. Продолжить заявление
  3. Заявление о пропуске

Мы используем оператор break, когда хотим прервать цикл при выполнении определенных условий. Например,

fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    if(fruit == 'mango'):
        break
    print(fruit)
""" OUTPUT: 
apple
banana
"""

В то время как оператор break прерывает цикл, оператор continue заставляет цикл пропустить текущую итерацию и принудительно перейти к следующей итерации.

fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    if(fruit == 'mango'):
        continue
    print(fruit)
""" OUTPUT: 
apple
banana
grapes
peach
"""

Оператор pass — это бессмысленный фрагмент кода, предлагающий интерпретатору ничего не делать. Это похоже на комментарий, но комментарии игнорируются интерпретаторами, в то время как оператор pass выполняется интерпретатором и, как следует из названия, ничего не делает. Оператор Pass также используется с функцией и классом, о чем я объясню в следующем разделе.

fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    if(fruit == 'mango'):
        pass
    print(fruit)
""" OUTPUT:
apple
banana
mango
grapes
peach
"""

для… еще и пока… еще

Во время разработки бывают моменты, когда вам может понадобиться использовать for..else и while…else. Это обычные циклы for и while со специальными вариантами else. Давайте посмотрим на пример, чтобы понять это.

fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    if(fruit == 'mango'):
        break
    print(fruit)
else:
    print("Loop Did Not Break!")
""" OUTPUT:
apple
banana
"""
fruits = ['apple', 'banana', 'mango', 'grapes', 'peach']
for fruit in fruits:
    if(fruit == 'abc'):
        break
    print(fruit)
else:
    print("Loop Did Not Break!")
""" OUTPUT:
apple
banana
mango
grapes
peach
Loop Did Not Break!
"""

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

i = 1
while i < 6:
  if(i == 3):
    break
  print(i)
  i += 1
else:
  print("All iterations of While are executed successfully.")
""" OUTPUT:
1
2
"""

Заключение

Окончательно! Мы в конце этого раздела 😁.

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

Если вы хотите узнать больше об управляющих операторах и циклах в python, посмотрите Programiz.

Дайте мне знать, если вам нужна помощь или вы хотите что-то обсудить. Свяжитесь со мной в Twitter или LinkedIn. Не забудьте оставить любые мысли, вопросы или опасения в комментариях ниже. Я хотел бы увидеть их.

Хотите узнать больше?

Подпишитесь на мою Информационную рассылку и получайте лучшие статьи на свой почтовый ящик.

До следующего раза 👋

Познакомьтесь с другими моими блогами из серии Python 101.