Серия учебных пособий по Python: Использование условных операторов if-elif-else.

Привет, разработчики, в прошлой статье я говорил об условном выражении Python if-else, и мы потренировали несколько действительно хороших примеров. В условном выражении if-else у нас есть только два условия. Если первое условие истинно, выполните первую инструкцию, а если условие не истинно, то выполните другую инструкцию (иначе условие). Но что, если у нас есть несколько условий, как мы с этим справимся? Не волнуйтесь, у Python есть одно решение этой проблемы.

Мы собираемся использовать условный оператор if-elif-else для решения таких проблем. Не волнуйтесь, если вы плохо знакомы с условными операторами Python. Когда мы рассмотрим несколько хороших примеров, вам все станет ясно.

Начнем с примера. В этом примере мы собираемся выставлять оценки студентам на основе полученных оценок:

Range         Grade
[90, 100]       A
[70, 89]        B
[50, 69]        C
[40, 49]        D
[0, 39]         F

Вы должны принимать оценки ученика как вводимые пользователем. Затем выставьте оценки на основе оценок, полученных студентами.

Код заявленной проблемы находится здесь:

print("Grade List")
print ("==========")
def gradeAssign(marks):
    assert marks>=0 and marks<=100
    
    if marks>=90:
        grade="A"
    elif marks>=70:
        grade="B"
    elif marks>=50:
        grade="C"
    elif marks>=40:
        grade="D"
    else:
        grade="F"
    
    return grade
    
def main():
    marks = float(input('Enter your marks: '))
    print("Marks: ", marks, "\nGrade: ", gradeAssign(marks))
    
main()

Результат вышеупомянутой программы Python:

>>> Grade List
==========
Enter your marks: 91
Marks:  91.0 
Grade:  A
>>> Grade List
==========
Enter your marks: 68.2
Marks:  68.2 
Grade:  C
>>> Grade List
==========
Enter your marks: 33
Marks:  33.0 
Grade:  F

Здесь я использовал функцию Python для выполнения этой работы. Основная функция вызывается (в конце), поэтому она будет выполняться первой. В основной функции, во-первых, я беру метки как ввод от пользователя, эти метки будут в плавающей форме. Потому что некоторые ученики могут получить оценки вроде «65,5», «83,7», «88,2» и так далее. Следовательно, здесь нельзя использовать функцию int. Функция float выполнит нашу работу. Затем я распечатываю полученные оценки и вызываю функцию gradeAssign() для оценок.

В функции gradeAssign() я использовал оператор assert. В Python оператор assert используется для продолжения выполнения, если данное условие оценивается как True. Если условие assert оценивается как False, оно вызывает исключение AssertionError с указанным сообщением об ошибке. Здесь условие состоит в том, что отметки будут в диапазоне от 0 до 100. Если пользовательский ввод отметок ниже 0 и выше 100, тогда программа python выдаст исключение AssertionError.

Затем я использовал условный оператор. Если полученные оценки больше «90», тогда оценка будет «А». В противном случае, если (elif) полученные оценки больше «70», тогда оценка будет «B». Продолжайте так, пока мы не достигнем степени «F». Вы можете заметить, что нам не нужно указывать какие-либо утверждения для условий else. Если все условия if и elif не выполнены, функция автоматически выполнит условный оператор else.

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

Код Python для проверки, является ли год високосным

Программа палиндрома на Python

Наименьшее общее кратное (НОК) в Python

Функция Python для проверки, является ли число простым или нет

Программа для определения максимума трех чисел

Определить, является ли данное натуральное число идеальным числом или без использования Python

Наибольший общий делитель или HCF в Python

Печать полого прямоугольника или квадрата в Python

Общая форма условного оператора if-elif-else

if  < condition1 >:
    < Statement s1 to be executed >
elif < condition2 >:
    < Statement s2 to be executed >
elif <condition3 >:
    < Statement s3 to be executed >
.
.
.
.
else:
    < Statement s(n) to be executed >

Блок-схема условного оператора if-elif-else

Вложенный условный оператор if-elif-else

Иногда нам нужна структура управления внутри другой структуры управления. Такой механизм называется вложением.

Разберемся в этом на примере. В этом примере мы собираемся узнать максимум трех чисел. Это означает, что мы собираемся ввести три числа от пользователя, и наша программа сообщит, какое из чисел является максимальным. Все просто, правда?

Начнем код:

print("Find the maximum Number")
print ("==========")
def FindMaximum(n1,n2,n3):
    if n1>n2:
        if n1>n3:
            maxNumber=n1
        else:
            maxNumber=n3
    elif n2>n3:
        maxNumber=n2
    else:
        maxNumber=n3
    return maxNumber
def main():
    n1 = int(input("Enter first number: "))
    n2 = int(input("Enter Second numer: "))
    n3 = int(input("Enter Third number: "))
    
    maximum  = FindMaximum(n1,n2,n3)
    print("Maximum number is", maximum)
    
main()

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

>>> Find the maximum Number
==================
Enter first number: 65
Enter Second numer: 5646
Enter Third number: 6166
Maximum number is 6166
>>> Find the maximum Number
==================
Enter first number: 45
Enter Second numer: 56
Enter Third number: 65
Maximum number is 65

БИНГО. Мы получили максимальное количество. В основной функции мы получили ввод трех чисел от пользователя и перенаправили вводимые числа в функцию FindMaximum(). В функции FindMaximum() мы используем вложенные условные операторы.

Если условие (n1 ›n2) истинно, мы вводим вложенный условный оператор. Если условие (n1 ›n2) ложно, наша программа проверит наличие других условных операторов. Теперь, внутри вложенной структуры управления, если первое число больше третьего числа, то первое число является максимальным, в противном случае третье число является максимальным. Предположите несколько случайных чисел и попытайтесь уместить их в структуре управления, вы получите более четкую картину.

Ну вот и все для этой статьи. В следующей статье мы поговорим о Python For Loop.

Если эта статья кажется вам информативной, обязательно подпишитесь на нее и поделитесь ею со своим компьютерным сообществом.

Здравствуйте, меня зовут Рохит Кумар Тхакур. Я открыт для фриланса. Я создаю проекты React Native, и в настоящее время я работаю над Python Django. Не стесняйтесь обращаться ко мне по адресу ([email protected]).

Больше контента на plainenglish.io