Si të shkruani degë të kushtëzuara me deklaratat if në Python

biznes

Shpjegoni degëzimin e kushtëzuar me deklaratat if në Python.

  • Bazat e deklaratave if (if, elif, else)
  • Specifikoni kushtet me operatorët e krahasimit, etj.
  • Përcaktoni kushtet sipas numrit, listës, etj.
  • Specifikoni kushte ose mohime të shumta me operatorë logjikë (dhe, ose, jo)
  • Shprehjet e kushtëzuara në rreshta të rinj dhe rreshta të shumtë

Ekziston gjithashtu një operator tresh që përshkruan një degë të kushtëzuar në një rresht. Shihni artikullin e mëposhtëm.

Bazat e deklaratave if (if, elif, else)

Forma bazë e deklaratës if është si më poshtë

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.`

“Elif” korrespondon me “else if” në C dhe gjuhë të tjera, dhe mund të ketë çdo numër “elifs”.

Nëse ka vetëm një shprehje të kushtëzuar ose përpunim kur false nuk është e nevojshme, blloqet “elif” dhe “else” mund të hiqen.

Specifikoni kushtet me operatorët e krahasimit, etj.

Specifikoni kushtin me një operacion që kthen një lloj bool (true, false), siç është një operator krahasimi.

Operatorët e krahasimit të Python janë si më poshtë

operatorirezultat
x < ye vërtetë nëse x është më e vogël se y
x <= ye vërtetë nëse x është më e vogël ose e barabartë me y
x > ye vërtetë nëse x është më e madhe se y
x >= ye vërtetë nëse x është më e madhe ose e barabartë me y
x == ye vërtetë nëse vlerat x dhe y janë të barabarta
x != ye vërtetë nëse vlerat x dhe y nuk janë të barabartax is ye vërtetë nëse x dhe y janë i njëjti objektx is not ye vërtetë nëse x dhe y nuk janë i njëjti objektx in ye vërtetë nëse x përmbahet në yx not in ye vërtetë nëse x nuk përmbahet në y

Shembull. Për lehtësi, ai përcaktohet si një funksion me deklaratën def.

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

Më poshtë mund të shkruhet në një mënyrë që është unike për Python. Shihni artikullin e mëposhtëm për detaje.
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!
  • !=

Sa më sipër është një krahasim i vlerave; për të krahasuar identitetet e objekteve, përdorni sa vijon

  • is
  • is not

Për shembull, kur krahasojmë një numër të plotë dhe një numër me pikë lundruese, “==” kthen true nëse vlerat janë ekuivalente, por “is” kthen false sepse janë objekte të ndryshme.

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

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

print(i == f)
# True

print(i is f)
# False

Është gjithashtu e mundur të vendoset kushti nëse një listë ose një varg përmban një element (karakter) specifik.

  • in:përfshijnë
  • not in:duke mos përfshirë
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

Përcaktoni kushtet sipas numrit, listës, etj.

Shprehja e kushtëzuar e një deklarate if mund të jetë një numër, listë ose objekt tjetër që nuk është i tipit bool (true, false).

if 10:
    print('True')
# True

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

Në shprehjen e kushtëzuar të një deklarate Python if, objektet e mëposhtme konsiderohen false.

Numrat që përfaqësojnë zero, vargjet boshe, listat, etj. konsiderohen të rreme; të gjitha të tjerat konsiderohen të vërteta.

Si vlerësohet objekti mund të kontrollohet me bool().

print(bool(10))
# True

print(bool(0.0))
# False

print(bool([]))
# False

print(bool('False'))
# True

Kjo mund të përdoret për të shkruar thjesht procesin kur lista është bosh, për shembull.

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

Vini re se vargu ‘False’ do të jetë gjithashtu i vërtetë, sepse siç tregohet në shembullin e mësipërm, çdo varg që nuk është bosh në varg do të jetë i vërtetë.’ Për të kthyer një varg specifik si ‘E vërtetë’ ose ‘E gabuar’ në 1,0, përdorni strtobool() në modulin distutils.util.

Specifikoni kushte ose mohime të shumta me operatorë logjikë (dhe, ose, jo)

Operatorët logjikë (dhe, ose, jo) mund të përdoren për të trajtuar lidhjen logjike, ndarjen logjike dhe mohimin e kushteve të shumta.

operatori(Rezultati (në shprehjen e kushtëzuar të një deklarate if)
x and ye vërtetë nëse edhe x edhe y janë të vërteta
x or ye vërtetë nëse x ose y janë të vërteta
not xfalse nëse x është e vërtetë, e vërtetë nëse x është e gabuar
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

Në fakt, “x dhe y” dhe “x ose y” nuk kthehen e vërtetë ose e gabuar, por x ose y. Për sa kohë që ato përdoren në shprehjet e kushtëzuara në pohimet if, nuk ka nevojë të shqetësoheni për to, pasi ato vlerësohen si të vërtetë ose të gabuara. Shihni artikullin e mëposhtëm për detaje.

Është e mundur të përdoret dhe dhe ose më shumë se një herë.

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

Shprehjet e kushtëzuara në rreshta të rinj dhe rreshta të shumtë

Kur përdoren shprehje të shumta kushtore duke i lidhur ato me “dhe” ose “ose” dhe çdo rresht bëhet i gjatë, ndonjëherë është e nevojshme të thyhet shprehja e kushtëzuar dhe të shkruhet në rreshta të shumtë.

Një thyerje rreshti mund të bëhet duke përdorur një vijë të prapme ose duke mbyllur të gjithë rreshtin në kllapa.

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

Ju mund të përdorni një vijë të prapme për të thyer një vijë sa herë të doni. Po kështu, ju mund të thyeni një rresht çdo herë brenda kllapave. Nuk ka kufi për dhëmbëzimin.

Vini re se kjo është një teknikë që mund të përdoret kudo në kodin Python, jo vetëm në deklaratat if.

Copied title and URL