Elif và if trong Python

Cho em hỏi lệnh elif và if có gì khác nhau

elif dùng để viết gọn code khi bạn lồng câu lệnh if … else.
ví dụ:

a = 4
if a == 1:
    print "Option 1"
else:
   if a == 2:
       print 'Option 2'
   else:
       print 'Khong hop le'

có thể được viết gọn hơn dùng elif

a = 4
if a == 1:
    print "Option 1"
elif a == 2:
   print 'Option 2'
else:
   print 'Khong hop le'

Sử dụng elif sẽ giúp tránh indent không cần thiết, giúp code dễ đọc hơn.
python không có switch ... case nên if … else ladder được sử dụng thay thế

5 Likes

Em cảm ơn anh :sweat_smile:

để em đọc thêm, chưa gì đã hỏi :smiley:

Theo mình nghĩ là bạn lấy số bị chia / số chia
g/s bi_chia = 2, so_chia = 5
ket_qua = 2 /5
Mà trong Python nó làm tròn thành 0 nên nó bị chọn là Else

2 Likes

Tại cái điều kiện nữa bạn :smile: chia 2 số để so sánh thì phải so sánh với 1 chứ sao lại so sánh với 0

1 Like

Bạn nào giải thích hộ mình với, mình mới học python

so1 = raw_input("Nhap so a\n")

if so1 < 0:
	print so1, " < 0"
else :
	print so1, " >0"

Tại sao mình nhập 5 thì nó ra 5 > 0 mà mình nhập -5 nó cũng ra -5 > 0???

raw_input = nhập vào 1 chuỗi
bạn cần phản int(so1) hoặc float còn ko thì eval(so1).
Nhưng nghe nói eval() hơi bị nguy hiểm khi sử dụng.

1 Like

@drgnz: eval() là hàm dùng làm gì ấy bạn?

Topic này có nói này :smile:

Em cũng mới học :D, cũng gặp lỗi như anh.

`so1 = int(raw_input("Nhap so a\n"))

if so1 < 0:
	print so1, " < 0"
else :
	print so1, " >0"`
1 Like

eval = evaluation
Tức nó sẽ tính toán, thực thi các câu lệnh trong hàm đó.
Như eval(‘12*34’) ra kq là 408

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?