Операторы if, elif и else в python 3

Оператор if elif else

Ключевое слово является сокращением от .

Оператор Python принимает следующую форму:

Если оценивается как , будет выполнен. Если оценивается как , будет выполнен. Если ни одно из выражений не имеет значения , выполняется .

ключевое слово должно заканчиваться ( ) толстой кишки и быть на том же уровне отступа , как соответствующие , ключевое слово. В операторе может быть одно или несколько предложений . Предложение является обязательным. Если предложение не используется и все выражения имеют значение , ни один из операторов не будет выполнен.

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

Добавим в предыдущий скрипт предложение :

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

if-else statement #

An if-else statement executes one set of statements when the condition is true and a different set of statements when the condition is false. In this way, a if-else statement allows us to follow two courses of action. The syntax of if-else statement is as follows:

Syntax:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
if condition
    # if block
    statement 1
    statement 2
    and so on
else
    # else block
    statement 3 
    statement 4
    and so on

How it works:

When if-else statement executes, condition is tested if it is evaluated to then statements inside the if block are executed. However, if the condition is then the statements in the else block are executed.

Here is an example:

Example 1: Program to calculate area and circumference of the circle

python101/Chapter-09/calculate_circles_area_circumference.py

1
2
3
4
5
6
radius = int(input("Enter radius: "))
if radius >= 
    print("Circumference = ", 2 * 3.14 * radius)
    print("Area = ", 3.14 * radius ** 2 )
else
    print("Please enter a positive number")

First Run Output:

1
2
3
Enter radius: 4
Circumference =  25.12
Area =  50.24

Second Run Output:

1
2
Enter radius: -12
Please enter a positive number

Now our program shows a proper response to the user even if the condition is false which is what is wanted.

In an if-else statement always make sure that if and else clause are properly aligned. Failing to do will raise a syntax error. For example:

python101/Chapter-09/if_and_else_not_aligned.py

1
2
3
4
5
6
7
radius = int(input("Enter radius: "))
if radius >= 
    print("Circumference = ", 2 * 3.14 * radius)
    print("Area = ", 3.14 * radius ** 2 )

    else
        print("Please enter a positive number")

Try running the above program and you will get a syntax error like this:

1
2
3
4
5
6
q@vm:~/python101/Chapter-09$ python3 if_and_else_not_aligned.py 
  File "if_and_else_not_aligned.py", line 6
    else
       ^
SyntaxError: invalid syntax
q@vm:~/python101/Chapter-06$

To the fix the problem, align the if and else clause vertically as follows:

1
2
3
4
5
6
7
radius = int(input("Enter radius: "))
if radius >= 
    print("Circumference = ", 2 * 3.14 * radius)
    print("Area = ", 3.14 * radius ** 2 )

else
    print("Please enter a positive number")

Here is another example:

Example 2: A program to check the password entered by the user

python101/Chapter-09/secret_world.py

1
2
3
4
5
password = input("Enter a password: ")
if password == "sshh"
    print("Welcome to the Secret World")
else
    print("You are not allowed here")

First Run Output:

1
2
Enter a password: sshh
Welcome to the Secret World

Second Run Output:

1
2
Enter a password: ww
You are not allowed here

Цикл for

Как было сказано ранее, мы используем цикл в тех случаях, когда вам нужно повторить что-нибудь n-ное количество раз. Это проще понять, если взглянуть на пример. Мы используем встроенную функцию Python range. Функция range создаст список длинной в «n» элементов. В Python версии 2.Х существует другая функция под названием xrange, которая является генератором чисел и не такая ресурсоемкая, как range. Ранее разработчики сменили xrange на range в Python 3. Вот пример:

Python

print(range(5)) # ответ: range(0, 5)

1 print(range(5))# ответ: range(0, 5)

Как вы видите, функция range взяла целое число и вернула объект range. Функция range также принимает начальное значение, конечное значение и значение шага. Вот еще два примера:

Python

a = range(5, 10)
print(a) # range(5, 10)

b = list(range(1, 10, 2))
print(b) #

1
2
3
4
5

a=range(5,10)

print(a)# range(5, 10)

b=list(range(1,10,2))

print(b)#

В пером примере показано, что вы можете передать начальное и конечное значение, и функция range вернет числа, начиная с начального значения вплоть до (но не включая) последнее значение. Например, при запросе 5-10 мы получим 5-9. Во втором примере видно, как использовать функцию списка (list) для того, чтобы функция range вернула каждый второй элемент, между 1 и 10. Так что она начинает с 1, пропускает 2 и так далее. Теперь вы, наверное, гадаете, что же именно она будет делать с циклами? Что-ж, есть один простой способ показать, как работает цикл с использованием функции range! Давайте взглянем:

Python

for number in range(5):
print(number)

1
2

fornumber inrange(5)

print(number)

Что здесь произошло? Давайте почитаем слева на право, чтобы понять это. Для каждого числа в диапазоне 5 мы вводим число. Мы знаем, что если мы вызываем range со значением 5, мы получим список из 5 элементов. Так что каждый раз, проходя через цикл, она выводит каждый из элементов. Цикл for, показанный выше, может быть эквивалентом следующего:

Python

for number in :
print(number)

1
2

fornumber in,1,2,3,4

print(number)

Функция range лишь делает результат несколько меньшим. Цикл for может обходить любой итератор Python. Мы уже видели, как именно он может работать со списком. Давайте взглянем, может ли он выполнять итерацию со словарем.

Python

a_dict = {«one»:1, «two»:2, «three»:3}

for key in a_dict:
print(key)

1
2
3
4

a_dict={«one»1,»two»2,»three»3}

forkey ina_dict

print(key)

Когда вы используете for в словаре, вы увидите, что он автоматически перебирает ключи. Вам не нужно указывать ключ for в a_dict.keys() (впрочем, это также работает). Python делает только нужные нам вещи. Вы возможно думаете, почему ключи выводятся в другом порядке, отличном от того, какой был указан в словаре? Как мы знаем из соответствующей статьи, словари не упорядочены, так что мы можем выполнять итерацию над ними, при этом ключи могут быть в любом порядке. Теперь, зная, что ключи могут быть отсортированы, вы можете отсортировать их до итерации. Давайте немного изменим словарь, чтобы увидеть, как это работает.

Python

a_dict = {1:»one», 2:»two», 3:»three»}
keys = a_dict.keys()

keys = sorted(keys)
for key in keys:
print(key)

1
2
3
4
5
6

a_dict={1″one»,2″two»,3″three»}

keys=a_dict.keys()

keys=sorted(keys)

forkey inkeys

print(key)

Результат:

Python

1
2
3

1
2
3
1
2
3

Давайте остановимся и разберемся с тем, что делает этот код. Во-первых, мы создали словарь, в котором ключи выступают в качестве целых чисел, вместо строк. Далее, мы извлекли ключи из словаря. Каждый раз, когда вы взываете метод keys(), он возвращает неупорядоченный список ключей. Если вы выведите их, и увидите, что они расположен в порядке по возрастанию, то это просто случайность. Теперь у нас есть доступ к ключам словаря, которые хранятся в переменной, под названием keys. Мы сортируем наш список, после чего используем цикл for в нем. Теперь мы готовы к тому, чтобы сделать все немного интереснее. Мы попробуем применить цикл в функции range, но нам нужно вывести только целые числа. Чтобы сделать это, нам нужно использовать условный оператор вместо параметра шага range. Это можно сделать следующим образом:

Python

for number in range(10):
if number % 2 == 0:
print(number)

1
2
3

fornumber inrange(10)

ifnumber%2==

print(number)

Результат:

Python

0
2
4
6
8

1
2
3
4
5

2
4
6
8

Вы наверное гадаете, что вообще здесь происходит? Что еще за знак процента? В Python, % называется оператором модуля. Когда вы используете оператор модуля, он возвращает остаток. Когда вы делите целое число на два, вы получаете число без остатка, так что мы выводим эти числа. Вам, возможно, не захочется использовать оператор модуля часто в будущем, но в моей работе он нередко помогает. Теперь мы можем взглянуть на цикл while.

Библиотека math

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

import math           # подключение модуля библиотеки

После подключения программа получает доступ ко всем функциям, методам и классам, содержащимся в нём. После подключения можно вызвать любую функцию из подключенной библиотеки по следующему правилу: указывается имя модуля и через точку имя функции

имя_модуля.имя_функции

Например, пусть мы хотим вызвать функцию вычисления Синус угла, задаваемого в радианахimport math y = sin(5)         # ошибка не подключен модуль mathx = math.sin(5)    # записываем имя модуля и через точку имя функции

Можно подключать не весь модуль, а какую-то его часть. Например, программист хочет использовать только одну функцию из математической библиотеки math. Если он подключит всю библиотеку, то будет добавлено более 40 функций, которые будут занимать место. Чтобы добавить в проект какую-то часть, используют ключевое слово from

from <имя подключаемого модуля> import <название функции>

Например.

from math import sin       # подключена только одна функция siny = sin(5)                 # операция выполненаx = cos(5)               # ошибка функция cos не подключена

Ниже приведен список основных функций модуля math. Некоторые из перечисленных функций (int, round, abs) являются стандартными и не требуют подключения модуля math для использования.

What is if…else statement in Python?

Decision making is required when we want to execute a code only if a certain condition is satisfied.

The statement is used in Python for decision making.

Python if Statement Syntax

if test expression:
    statement(s)

Here, the program evaluates the and will execute statement(s) only if the test expression is .

If the test expression is , the statement(s) is not executed.

In Python, the body of the statement is indicated by the indentation. The body starts with an indentation and the first unindented line marks the end.

Python interprets non-zero values as . and are interpreted as .

Example: Python if Statement

When you run the program, the output will be:

3 is a positive number
This is always printed
This is also always printed.

In the above example, is the test expression.

The body of is executed only if this evaluates to .

When the variable num is equal to 3, test expression is true and statements inside the body of are executed.

If the variable num is equal to -1, test expression is false and statements inside the body of are skipped.

The statement falls outside of the block (unindented). Hence, it is executed regardless of the test expression.

Генерация случайных чисел (модуль random)

Python порождает случайные числа на основе формулы, так что они на самом деле не случайные, а, как говорят, псевдослучайные.

Модуль random позволяет генерировать случайные числа и  имеет большое множество важных для практики функций. Рассмотрим  основные функции:

random.random() - случайное число от 0 до 1.
random.randint(A, B) - случайное целое число N, A ≤ N ≤ B.
random.shuffle(list) перемешивает список случайным образом
random.choice(list) возвращает один случайный элемент из списка

Примеры

Функцияrandom.random()случайное число от 0 до 1.

import randomnumber = random.random()  # значение от 0.0 до 1.0print(number)number = random.random() * 100  # значение от 0.0 до 100.0print(number)

Функция    random.randint(A, B) — случайное целое число N, A ≤ N ≤ B

import randomnumber = random.randint(20, 35)  # значение от 20 до 35print(number)

функция random.shuffle(list) перемешивает список случайным образом

import randomnumbers =    # списокrandom.shuffle(numbers)print('numbers shuffle:',numbers)

Результат работы программы:

numbers shuffle:

функция  random.choice(list) возвращает один случайный элемент из списка

numbers =  random_number = random.choice(numbers)print('random_number:', random_number)

Вложенные операторы If

Вложенные операторы if используются, когда нужно проверить второе условие, когда первое условие выполняется. Для этого можно использовать оператор if-else внутри другого оператора if-else. Синтаксис вложенного оператора if:

if statement1:              #внешний оператор if
    print("true")

    if nested_statement:    #вложенный оператор if
        print("yes")

    else:                   #вложенный оператор else 
        print("no")

else:                       #внешний оператор else 
    print("false")

Результатом работы программы может быть:

Если значение statement1 равно true, программа проверяет, равно ли true значение nested_statement. Если оба условия выполняются, результат будет следующим:

Вывод:

true
yes

Если statement1оценивается как true, но nested_statement оценивается как false, вывод будет уже другим:

Вывод:trueno

Значение statement1 равно false, а вложенный оператор if-else не будет выполняться, поэтому «сработает» оператор else:

Вывод:

false

Также можно использовать несколько вложенных операторов if:

if statement1:                  #внешний if 
    print("hello world")

    if nested_statement1:       #первый вложенный if 
        print("yes")

    elif nested_statement2:     # первый вложенный elif
        print("maybe")

    else:                       # первый вложенный else
        print("no")

elif statement2:                # внешний elif
    print("hello galaxy")

    if nested_statement3:       #второй вложенный if
        print("yes")

    elif nested_statement4:     # второй вложенный elif
        print("maybe")

    else:                       # второй вложенный else
        print("no")

else:                           # внешний else
    statement("hello universe")

В приведенном выше коде внутри каждого оператора if  (в дополнение к оператору elif ) используется вложенный if. Это дает больше вариантов в каждом условии.

Используем пример вложенных операторов if в программе grade.py.  Сначала проверим, является ли балл проходным (больше или равно 65%). Затем оценим, какой буквенной оценке соответствует балл. Но если балл непроходной, нам не нужно проверять буквенные оценки. И можно сразу информировать ученика, что балл является непроходным. Модифицированный код с вложенным оператором if:

if grade >= 65:
    print("Passing grade of:")

    if grade >= 90:
        print("A")

    elif grade >=80:
        print("B")

    elif grade >=70:
        print("C")

    elif grade >= 65:
        print("D")

else:
    print("Failing grade")

При переменной grade равной 92 первое условие будет выполнено, и программа выведет «Passing grade of:». Затем она проверит, является ли оценка больше или равной 90. Это условие также будет выполнено и она выведет A.

Если переменная grade равна 60, то первое условие не будет выполнено. Поэтому программа пропустит вложенные операторы if, перейдет к оператору else и выведет сообщение «Failing grade».

Но можно добавить еще больше вариантов и использовать второй слой вложенных if. Например, чтобы определить оценки A+, A и A-. Мы можем сделать это, сначала проверив, является ли оценка проходной, затем, является ли оценка 90 или выше. А после этого, превышает ли оценка 96 для A+, например:

if grade >= 65:
    print("Passing grade of:")

    if grade >= 90:
        if grade > 96:
            print("A+")

        elif grade > 93 and grade <= 96:
            print("A")

        elif grade >= 90:
            print("A-")

Для переменной grade со значением 96 программа выполнит следующее:

  1. Проверит, является ли оценка больше или равной 65 (true).
  2. Выведет «Passing grade of:»
  3. Проверит, является ли оценка больше или равной 90 (true).
  4. Проверит, превышает ли оценка 96 (false).
  5. Проверит, является ли оценка больше 93, а также меньше или равна 96 (true).
  6. Выведет
  7. Пропустит оставшиеся вложенные условные операторы и вернется к остающемуся коду.

Результат работы программы для переменной grade равной 96:

Вывод:

Passing grade of:
A

Вложенные операторы if позволяют добавлять несколько уровней условий в создаваемый код.

Функции Python 3 — возврат значения

Можно передавать значение аргумента функции в Python. При этом функция также может возвращать значение с помощью инструкции return, которая завершит выполнение функции и передаст значения к месту ее вызова. Используя return без аргументов, функция будет возвращать None.

До сих пор мы использовали print(), а не return. Создадим программу, которая вместо вывода в терминал будет возвращать переменную.

В новом текстовом файле создадим программу, которая будет возводить в квадрат параметр x и возвращать переменную y. Выполняем вызов, чтобы вывести переменную result после запуска функции square() с аргументом 3:

square.py
def square(x):
    y = x ** 2
    return y

result = square(3)
print(result)

Запускаем программу, чтобы увидеть результат:

python square.py

Результат
9

В качестве выходных данных получаем число 9, что и является результатом возведения в квадрат числа 3. Рассмотрим действие инструкции return в программе:

square.py
def square(x):
    y = x ** 2
    # return y

result = square(3)
print(result)

Снова запускаем программу:

python square.py

Результат
None

Без return программа не может вернуть значение, поэтому оно равно None.

В следующем примере математической функции в Python заменим print() из программы add_numbers.py на инструкцию return:

add_numbers.py
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    return a, b, c

sums = add_numbers(1, 2, 3)
print(sums)

Вне функции объявляем переменную sums, которая равна результату действия функции для чисел 1, 2 и 3 из примера, приведенного выше. Затем выводим переменную sums. Снова запускаем программу, теперь уже с инструкцией return:

python add_numbers.py

Результат

(3, 4, 5)

На выходе получаем те же числа, что и с использованием инструкции print(). Теперь результат предоставлен в виде кортежа, так как в списке выражений инструкции return имеется запятая.

Функции Python немедленно завершаются, когда встречают инструкцию return, независимо от того, возвращают они значение или нет:

return_loop.py
def loop_five():
    for x in range(0, 25):
        print(x)
        if x == 5:
            # Функция останавливается на x == 5
            return
    print("Эта строка не будет выполняться.")

loop_five()

Инструкция return в цикле for завершает функцию, поэтому строка вне цикла не будет выполняться. При использовании инструкции break был бы завершен только цикл, и выполнялась последняя строка print().

Инструкция return завершает функцию и может возвращать значение в случае применения параметров.

if-elif-else statement #

If-elif-else statement is another variation of if-else statement which allows us to test multiple conditions easily instead of writing nested if-else statements. The syntax of if-elif-else statement is as follows:

Syntax:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
if condition_1 
    # if block
    statement
    statement   
    more statement
elif condition_2
    # 1st elif block
    statement
    statement
    more statement
elif condition_3   
    # 2nd elif block
    statement
    statement
    more statement

...

else    
    statement
    statement
    more statement

means you means you can write as many elif clauses as necessary.

How it works:

When if-elif-else statement executes, the is tested first. If the condition found to be true, then the statements in the if block is executed. The conditions and statements in the rest of the structure is skipped and control comes out of the if-elif-else statement to execute statements following it.

If is false the program control jumps to the next elif clause and is tested. If is true the statements in the 1st elif block is executed. The conditions and statements in the rest of the if-elif-else structure is skipped and control comes out of the if-elif-statement to execute statements following it.

This process keeps repeating until an elif clause is found to be true. In case no elif clause found to be true then at last the block of statements in the else block is executed.

Let’s rewrite the above program using if-elif-statement.

python101/Chapter-09/if_elif_else_statement.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
score = int(input("Enter your marks: "))

if score >= 90
    print("Excellent! Your grade is A")
elif score >= 80
    print("Great! Your grade is B")
elif score >= 70
    print("Good! Your grade is C")
elif score >= 60
    print("Your grade is D. You should work hard on you studies.")
else
    print("You failed in the exam")

First run output:

1
2
Enter your marks: 78
Good ! Your grade is C

Second run output:

1
2
Enter your marks: 91
Excellent! Your grade is A

Third run output:

1
2
Enter your marks: 55
You failed in the exam

As you can see the above program is quite easy to read and understand unlike it’s nested equivalent.

  • Strings Methods in Python

  • Loops in Python

Please enable JavaScript to view the comments powered by Disqus.

report this ad

if statement #

The syntax of if statement is as follows:

Syntax:

1
2
3
4
5
if condition
    <indented statement 1>
    <indented statement 2>

<non-indented statement>

The first line of the statement i.e is known as if clause and the is a boolean expression, that is evaluated to either or . In the next line, we have have block of statements. A block is simply a set of one or more statements. When a block of statements is followed by if clause, it is known as if block. Notice that each statement inside the if block is indented by the same amount to the right of the if keyword. Many languages like C, C++, Java, PHP, uses curly braces () to determine the start and end of the block but Python uses indentation. Each statement inside the if block must be indented by the same number of spaces. Otherwise, you will get syntax error. Python documentation recommends to indent each statement in the block by 4 spaces. We use this recommendation in all our programs throughout this course.

How it works:

When if statement executes, the condition is tested. If condition is true then all the statements inside the if block is executed. On the other hand, if the condition is false then all the statements in the if block is skipped.

The statements followed by the if clause which are not indented doesn’t belong to the if block. For example, is not the part of the if block, as a result, it will always execute no matter whether the condition in the if clause is true or false.

Here is an example:

python101/Chapter-09/if_statement.py

1
2
3
4
number = int(input("Enter a number: "))

if number > 10
    print("Number is greater than 10")

First Run Output:

1
2
Enter a number: 100
Number is greater than 10

Second Run Output:

Enter a number: 5

Notice that in the second run when condition failed, statement inside the if block is skipped. In this example the if block consist of only one statement, but you can have any number of statements, just remember to properly indent them.

Now consider the following code:

python101/Chapter-09/if_statement_block.py

1
2
3
4
5
6
7
number = int(input("Enter a number: "))
if number > 10
    print("statement 1")
    print("statement 2")
    print("statement 3")
print("Executes every time you run the program")
print("Program ends here")

First Run Output:

1
2
3
4
5
6
Enter a number: 45
statement 1
statement 2
statement 3
Executes every time you run the program
Program ends here

Second Run Output:

1
2
3
Enter a number: 4
Executes every time you run the program
Program ends here

The important thing to note in this program is that only statements in line 3,4 and 5 belongs to the if block. Consequently, statements in line 3,4 and 5 will execute only when the if condition is true, on the other hand statements in line 6 and 7 will always execute no matter what.

Python shell responds somewhat differently when you type control statements inside it. Recall that, to split a statement into multiple lines we use line continuation operator (). This is not the case with control statements, Python interpreter will automatically put you in multi-line mode as soon as you hit enter followed by an if clause. Consider the following example:

1
2
3
4
>>>
>>> n = 100
>>> if n > 10
...

Notice that after hitting Enter key followed by if clause the shell prompt changes from to . Python shell shows for multi-line statements, it simply means the statement you started is not yet complete.

To complete the if statement, add a statement to the if block as follows:

1
2
3
4
5
>>>
>>> n = 100
>>> if n > 10
...     print("n is greater than 10")
...

Python shell will not automatically indent your code, you have to do that yourself. When you are done typing statements in the block hit enter twice to execute the statement and you will be taken back to the normal prompt string.

1
2
3
4
5
6
7
>>>
>>> n = 100
>>> if n > 10
...     print("n is greater than 10")
...
n is greater than 10
>>>

The programs we have written so far ends abruptly without showing any response to the user if the condition is false. Most of the time we want to show the user a response even if the condition is false. We can easily do that using if-else statement

Условия

Условия — это структуры внутри кода, которые могут выполнять различные строки кода на основе определенных «условий», которые выполняются. В Python самый простой тип условного выражения проверяет логическое значение, чтобы удостовериться, является ли оно истинным, а затем выполняет некоторый код, если оно подходит:

b = True

if b:

     print ‘b is True’

Здесь, поскольку b на самом деле истинно, он проходит тест, вызывая выполнение кода, вставленного после строки «if b:«. Попробуйте запустить код еще раз, на этот раз установив b в значение False, чтобы убедиться, что ничего не происходит. В этом случае, если b не проходит тест, весь блок кода вставки после первой условной строки пропускается и игнорируется. В этом коде «if b:» сокращенно означает «if b is True:«. Если вы хотите проверить ложность, вы можете использовать сокращенное выражение Python «if not b:» или написать полное «if b is False:«.

В Python строка, заканчивающаяся на «», за которой следуют строки кода вставки, является базовым синтаксисом для создания иерархической структуры и используется со всеми более высокими кодовыми структурами, включая условия, циклы, функции и объекты. Хитрость заключается в том, что Python очень специфичен в том, как эти вставки задаются. У вас есть возможность использовать вкладки или ряд пробелов, но вы не можете смешивать и сопоставлять, и вы должны очень четко указать количество каждого из них, которое вы используете, основываясь на уровне структуры. Например, этот код:

b = False

if b:

     print ‘b is True’

     print ‘b is False’

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

b = False

if b:

     print ‘b is True’

print ‘b is False’

С другой стороны, если вы вставите последнюю строку на один уровень дальше:

b = False

if b:

     print ‘b is True’

          print ‘b is False’

Вы получите сообщение об ошибке

IndentationError: unexpected indent (неожиданный отступ)

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

Двигаясь дальше, если условный тест не проходит и первый блок кода передается, он может быть пойман оператором else (иначе):

b = True

if b:

     print ‘b is True’

else:

     print ‘b is False’

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

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

num = 7

if num > 5:

     print ‘число больше, чем 5’

Или содержимое строки:

t = ‘это текст’

if t == ‘это текст’:

     print ‘текст соответствует’

В этом примере я использую оператор double equals «==» (двойное равенство), чтобы проверить, соответствует ли одна вещь другой. Это стандартный способ проверки равенства, так как единственное равенство «=» зарезервировано для присвоения значений переменным. Наиболее распространенными операторами сравнения являются:

  • == (равно)
  • != (не равно)
  • > (больше чем)
  • >= (больше чем или равно)
  • < (меньше чем)
  • <= (меньше чем или равно)

Вы можете использовать оператор «elif:» (конкатенация else и if) для объединения условий в цепочку для создания более сложных логик:

num1 = 3

num2 = 7

if num1 > 5:

     print ‘num1 больше чем 5’

elif num2 > 5:

     print ‘num2 больше чем 5’

else:

     print «они оба слишком маленькие!»

Это создает цепочку тестов, которые происходят по порядку. Если первый тест пройден, то этот блок кода выполняется, а остальная часть условного кода пропускается. Если это не удается, анализируется второй тест (после «elif:«), и так далее. Если ни один из тестов не проходит, выполняется код, следующий за оператором else:).

Наконец, вы также можете объединить несколько тестов в одной строке, используя ключевые слова «and» (И) и «or» (ИЛИ):

num1 = 3

num2 = 7

if num1 < 5 and num2 < 5:

     print «они оба слишком малы!»

if num1 < 5 or num2 < 5:

     print «по крайней мере один из них слишком мал!»

Python if…elif…else Statement

Syntax of if…elif…else

if test expression:
    Body of if
elif test expression:
    Body of elif
else: 
    Body of else

The is short for else if. It allows us to check for multiple expressions.

If the condition for is , it checks the condition of the next block and so on.

If all the conditions are , the body of else is executed.

Only one block among the several blocks is executed according to the condition.

The block can have only one block. But it can have multiple blocks.

Example of if…elif…else

When variable num is positive, Positive number is printed.

If num is equal to 0, Zero is printed.

If num is negative, Negative number is printed.

Nested conditions

Any Python instruction may be put into ‘true’ blocks and ‘false’ block, including another conditional
statement. This way we get nested conditions. The blocks of inner conditions are indented
using twice more spaces (eg. 8 spaces). Let’s see an example. Given the coordinates of the point
on the plane, print its quadrant.

2
-3
x = int(input())
y = int(input())
if x > 0:
    if y > 0:
        # x is greater than 0, y is greater than 0
        print("Quadrant I")
    else:    
        # x is greater than 0, y is less or equal than 0
        print("Quadrant IV")
else:
    if y > 0:
        # x is less or equal than 0, y is greater than 0
        print("Quadrant II")
    else:    
        # x is less or equal than 0, y is less or equal than 0
        print("Quadrant III")

In this example we use the comments: the explanatory text that has no effect on program execution.
This text starts with the hash and lasts till the end of the line.

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

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

Adblock
detector