Како написати условне гране са иф изјавама у Питхон-у

Бусинесс

Објасните условно гранање са иф изјавама у Питхон-у.

  • Основе иф изјава (иф, елиф, елсе)
  • Наведите услове помоћу оператора поређења итд.
  • Наведите услове по броју, листи итд.
  • Наведите више услова или негација помоћу логичких оператора (и, или, не)
  • Условни изрази на новим редовима и више редова

Постоји и тернарни оператор који описује условну грану у једном реду. Погледајте следећи чланак.

Основе иф изјава (иф, елиф, елсе)

Основни облик иф наредбе је следећи

if Conditional expression 1:
    `Processing to be performed if Expression 1 is True.`
elif Conditional expression 2:
    `Processing to be performed when expression 1 is false and expression 2 is true.`
elif Expression 3:
    `Process when expression 1 and 2 are false and expression 3 is true.`
...
else:
    `Processing when all conditionals are false.`

„Елиф“ одговара „елсе иф“ у Ц и другим језицима, и може постојати било који број „елифова“.

Ако постоји само један условни израз или обрада када није неопходно, блокови „елиф“ и „елсе“ могу бити изостављени.

Наведите услове помоћу оператора поређења итд.

Наведите услов помоћу операције која враћа боол тип (тачно, нетачно), као што је оператор поређења.

Питхон оператори поређења су следећи

оператеррезултат
x < yтачно ако је к мање од и
x <= yтачно ако је к мање или једнако и
x > yтачно ако је к веће од и
x >= yтачно ако је к веће или једнако и
x == yтачно ако су вредности к и и једнаке
x != yтачно ако вредности к и и нису једнакеx is yтачно ако су к и и исти објекатx is not yтачно ако к и и нису исти објекатx in yтачно ако је к садржано у иx not in yтачно ако к није садржано у и

Пример. Ради погодности, дефинисан је као функција са деф наредбом.

def if_test(num):
    if num > 100:
        print('100 < num')
    elif num > 50:
        print('50 < num <= 100')
    elif num > 0:
        print('0 < num <= 50')
    elif num == 0:
        print('num == 0')
    else:
        print('num < 0')

if_test(1000)
# 100 < num

if_test(70)
# 50 < num <= 100

if_test(0)
# num == 0

if_test(-100)
# num < 0

Следеће се може написати на начин који је јединствен за Питхон. За детаље погледајте следећи чланак.
a < x < b

def if_test2(num):
    if 50 < num < 100:
        print('50 < num < 100')
    else:
        print('num <= 50 or num >= 100')

if_test2(70)
# 50 < num < 100

if_test2(0)
# num <= 50 or num >= 100
  • #ERROR!
  • !=

Горе наведено је поређење вредности; да бисте упоредили идентитете објеката, користите следеће

  • is
  • is not

На пример, када се пореди цео број и број са покретним зарезом, „==“ враћа тачно ако су вредности еквивалентне, али „је“ враћа нетачно јер су различити објекти.

i = 10
print(type(i))
# <class 'int'>

f = 10.0
print(type(f))
# <class 'float'>

print(i == f)
# True

print(i is f)
# False

Такође је могуће поставити услов да ли листа или стринг садржи одређени елемент (знак).

  • in:укључити
  • not in:не укључујући
def if_test_in(s):
    if 'a' in s:
        print('a is in string')
    else:
        print('a is NOT in string')

if_test_in('apple')
# a is in string

if_test_in('melon')
# a is NOT in string

Наведите услове по броју, листи итд.

Условни израз иф наредбе може бити број, листа или други објекат који није типа боол (тачно, нетачно).

if 10:
    print('True')
# True

if [0, 1, 2]:
    print('True')
# True

У условном изразу Питхон иф исказа, следећи објекти се сматрају нетачним.

Бројеви који представљају нулу, празне стрингове, листе итд. сматрају се нетачним; сви остали се сматрају истинитим.

Како се процењује објекат може се проверити помоћу боол().

print(bool(10))
# True

print(bool(0.0))
# False

print(bool([]))
# False

print(bool('False'))
# True

Ово се може користити за једноставно писање процеса када је листа празна, на пример.

def if_test_list(l):
    if l:
        print('list is NOT empty')
    else:
        print('list is empty')

if_test_list([0, 1, 2])
# list is NOT empty

if_test_list([])
# list is empty

Имајте на уму да ће стринг ‘Фалсе’ такође бити тачан, јер ће, као што је приказано у горњем примеру, сваки стринг који није празан у стрингу бити истинит.’ Да бисте конвертовали одређени стринг као што је ‘Труе’ или ‘Фалсе’ у 1,0, користите стртобоол() у дистутилс.утил модулу.

Наведите више услова или негација помоћу логичких оператора (и, или, не)

Логички оператори (и, или, не) се могу користити за руковање логичком коњункцијом, логичком дисјункцијом и негацијом више услова.

оператер(Резултат (у условном изразу иф наредбе)
x and yтачно ако су и к и и тачни
x or yтачно ако је или к или и тачно
not xнетачно ако је к тачно, тачно ако је к нетачно
def if_test_and_not(num):
    if num >= 0 and not num % 2 == 0:
        print('num is positive odd')
    else:
        print('num is NOT positive odd')

if_test_and_not(5)
# num is positive odd

if_test_and_not(10)
# num is NOT positive odd

if_test_and_not(-10)
# num is NOT positive odd

У ствари, „к и и“ и „к или и“ не враћају Тачно или Нетачно, већ или к или и. Све док се користе у условним изразима у иф наредбама, нема потребе да бринете о њима, јер се процењују на Тачно или Нетачно. За детаље погледајте следећи чланак.

Могуће је користити и и или више пута.

def if_test_and_not_or(num):
    if num >= 0 and not num % 2 == 0 or num == -10:
        print('num is positive odd or -10')
    else:
        print('num is NOT positive odd or -10')

if_test_and_not_or(5)
# num is positive odd or -10

if_test_and_not_or(10)
# num is NOT positive odd or -10

if_test_and_not_or(-10)
# num is positive odd or -10

Условни изрази на новим редовима и више редова

Када се користи више условних израза повезујући их са „и“ или „или“ и сваки ред постане дугачак, понекад је потребно прекинути условни израз и написати га у више редова.

Прелом реда се може направити коришћењем обрнуте косе црте или стављањем целе линије у заграде.

def if_test_and_backslash(num):
    if num >= 0 \
       and not num % 2 == 0:
        print('num is positive odd')
    else:
        print('num is NOT positive odd')

if_test_and_backslash(5)
# num is positive odd

def if_test_and_brackets(num):
    if (num >= 0
        and not num % 2 == 0):
        print('num is positive odd')
    else:
        print('num is NOT positive odd')

if_test_and_brackets(5)
# num is positive odd

Можете користити обрнуту косу црту да бисте прекинули линију колико год пута желите. Слично, можете прекинути линију било који број пута унутар заграда. Нема ограничења увлачења.

Имајте на уму да је ово техника која се може користити било где у Питхон коду, не само у иф изјавама.

Copied title and URL