30/09/2018, 19:06

Elif và if trong Python

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

Coulson viết 21:19 ngày 30/09/2018

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ế

Kelita viết 21:18 ngày 30/09/2018

Em cảm ơn anh

mit to vi viết 21:20 ngày 30/09/2018

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

Kelita viết 21:11 ngày 30/09/2018

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

Thành Phạm viết 21:14 ngày 30/09/2018

Tại cái điều kiện nữa bạn 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

Vu Van Chung viết 21:21 ngày 30/09/2018

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???

*grab popcorn* viết 21:14 ngày 30/09/2018

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.

Vu Van Chung viết 21:19 ngày 30/09/2018

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

Thành Phạm viết 21:09 ngày 30/09/2018

Topic này có nói này

Mình đang học python và mình thắc mắc sự khác biệt giữa hàm input với hàm raw_input. Theo quyển Learn Python The Hard Way thì mình thấy tác giả Zed Shaw bảo là không nên dùng input vì lý do bảo mật. Mọi người có thể giải thích giúp mình điểm này không?
mit to vi viết 21:14 ngày 30/09/2018

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"`
*grab popcorn* viết 21:07 ngày 30/09/2018

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

Bài liên quan
0