Nerangake percabangan kondisional karo pernyataan yen ing Python.
- Dasar saka pernyataan if (if, elif, else)
- Nemtokake kahanan karo operator comparison, etc.
- Nemtokake kahanan miturut nomer, dhaptar, lsp.
- Nemtokake sawetara kahanan utawa negasi karo operator logis (lan, utawa, ora)
- Ekspresi kondisional ing baris anyar lan pirang-pirang baris
Ana uga operator ternary sing nggambarake cabang kondisional ing siji baris. Waca artikel ing ngisor iki.
Dasar saka pernyataan if (if, elif, else)
Wujud dhasare pratelan yen kaya ing ngisor iki
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” cocog karo “else if” ing C lan basa liyane, lan bisa uga ana sawetara “elif”.
Yen mung ana siji ekspresi utawa pangolahan kondisional nalika palsu ora perlu, blok “elif” lan “liyane” bisa diilangi.
Nemtokake kahanan karo operator comparison, etc.
Nemtokake kondisi karo operasi sing ngasilake jinis bool (bener, salah), kayata operator comparison.
operator comparison Python minangka nderek
operator | asil |
---|---|
x < y | bener yen x kurang saka y |
x <= y | bener yen x kurang saka utawa padha karo y |
x > y | bener yen x luwih gedhe tinimbang y |
x >= y | bener yen x luwih gedhe utawa padha karo y |
x == y | bener yen nilai x lan y padha |
x != y
x is y
x is not y
x in y
x not in y
Tuladha. Kanggo penak, ditetepake minangka fungsi karo statement 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
Ing ngisor iki bisa ditulis kanthi cara sing unik kanggo Python. Deleng artikel ing ngisor iki kanggo rincian.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!
!=
Ing ndhuwur minangka perbandingan nilai; kanggo mbandhingake identitas obyek, gunakake ing ngisor iki
is
is not
Contone, nalika mbandhingake integer lan nomer floating-point, “==” bali bener yen nilai padha, nanging “iku” bali palsu amarga padha obyek beda.
i = 10
print(type(i))
# <class 'int'>
f = 10.0
print(type(f))
# <class 'float'>
print(i == f)
# True
print(i is f)
# False
Sampeyan uga bisa nggawe kondisi apa dhaftar utawa senar ngemot unsur tartamtu (karakter).
in
:kalebunot in
:ora kalebu
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
Nemtokake kahanan miturut nomer, dhaptar, lsp.
Ekspresi kondisional saka statement if bisa dadi nomer, dhaptar, utawa obyek liyane sing ora jinis bool (bener, salah).
if 10:
print('True')
# True
if [0, 1, 2]:
print('True')
# True
Ing ekspresi kondisional saka Python yen statement, obyek ing ngisor iki dianggep palsu.
- Konstanta ditetepake palsu:
None
,false
- Zero ing jinis numerik:
0
,0
,0j
,Decimal(0)
,Fraction(0, 1)
- Urutan utawa koleksi kosong:
'
,()
,[]
,{}
,set()
,range(0)
Truth Value Testing — Built-in Types — Python 3.10.4 Documentation
Nomer sing makili nol, string kosong, dhaptar, lan liya-liyane dianggep palsu; kabeh liyane dianggep bener.
Carane obyek diadili bisa dicenthang karo bool ().
print(bool(10))
# True
print(bool(0.0))
# False
print(bool([]))
# False
print(bool('False'))
# True
Iki bisa digunakake kanggo mung nulis proses nalika dhaptar kosong, contone.
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
Elinga yen senar ‘Palsu’ uga bakal bener, amarga kaya sing dituduhake ing conto ing ndhuwur, senar sing ora kosong ing senar bakal bener.’ Kanggo ngowahi string tartamtu kayata ‘Bener’ utawa ‘Palsu’ kanggo 1,0, nggunakake strtobool () ing modul distutils.util.
Nemtokake sawetara kahanan utawa negasi karo operator logis (lan, utawa, ora)
Operator logis (lan, utawa, ora) bisa digunakake kanggo nangani konjungsi logis, disjungsi logis, lan negasi sawetara kondisi.
operator | (Asil (ing ekspresi kondisional saka pernyataan if) |
---|---|
x and y | bener yen loro x lan y bener |
x or y | bener yen x utawa y bener |
not x | salah yen x bener, bener yen x salah |
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
Nyatane, “x lan y” lan “x utawa y” ora ngasilake Bener utawa Salah, nanging uga x utawa y. Anggere padha digunakake ing ungkapan kondisional ing yen statements, ana ora perlu sumelang ing bab mau, amarga padha ngevaluasi kanggo salah siji Bener utawa Palsu. Deleng artikel ing ngisor iki kanggo rincian.
Sampeyan bisa nggunakake lan lan utawa luwih saka sepisan.
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
Ekspresi kondisional ing baris anyar lan pirang-pirang baris
Nalika sawetara ekspresi kondisional digunakake kanthi nyambungake karo “lan” utawa “utawa” lan saben baris dadi dawa, kadhangkala perlu ngilangi ekspresi kondisional lan nulis ing pirang-pirang baris.
A line break bisa digawe kanthi nggunakake backslash utawa nglampirake kabeh baris ing kurung.
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
Sampeyan bisa nggunakake backslash kanggo break baris minangka kakehan sing disenengi. Kajaba iku, sampeyan bisa ngilangi garis kaping pirang-pirang ing kurung. Ora ana watesan indentasi.
Elinga yen iki technique sing bisa digunakake ing ngendi wae ing kode Python, ora mung ing yen statements.