Câu lệnh if trong Python với nhiều điều kiện (và + hoặc) – sử dụng hoặc trong lệnh if python

Câu lệnh if của Python kiểm tra nhiều điều kiện với và và hoặc. Các toán tử logic đó kết hợp một số điều kiện thành một giá trị Đúng hoặc Sai.

Bạn đang xem : sử dụng hoặc trong câu lệnh if python

Một câu lệnh if Python đơn giản chỉ kiểm tra một điều kiện. Sau đó, điều kiện đó sẽ xác định xem mã của chúng ta có chạy ( True ) hay không ( False ). Nếu chúng ta muốn đánh giá các kịch bản phức tạp hơn, mã của chúng ta phải kiểm tra nhiều điều kiện cùng nhau. Hãy xem cách chúng tôi viết mã đó bằng Python.

# Kiểm tra nhiều điều kiện với một câu lệnh if Python

Để kiểm tra nhiều điều kiện trong mệnh đề if hoặc elif , chúng tôi sử dụng cái gọi là toán tử logic. Các toán tử này kết hợp một số giá trị true / false thành một kết quả cuối cùng True hoặc False (Sweigart, 2015). Kết quả đó cho biết các điều kiện của chúng ta kết hợp như thế nào và điều đó quyết định liệu câu lệnh if của chúng ta có chạy hay không.

Chúng tôi đánh giá nhiều điều kiện bằng hai toán tử logic (Lutz, 2013; Python Docs, n.d.):

  • Toán tử trả về True khi cả điều kiện bên trái và bên phải của nó cũng là True . Khi một hoặc cả hai điều kiện False , kết quả mà tạo ra cũng là False .
  • Toán tử hoặc trả về True khi các điều kiện bên trái, bên phải hoặc cả hai của nó là True . Lần duy nhất hoặc trả về False là khi cả hai điều kiện đều False .

Đừng lo lắng nếu điều này nghe có vẻ trừu tượng hoặc mơ hồ; các ví dụ dưới đây làm cho điều này thực tế hơn. Nói về điều này, chúng ta hãy xem những ví dụ đó.

# Nhiều điều kiện True trong câu lệnh if: toán tử < / h2>

Khi một câu lệnh if yêu cầu nhiều điều kiện True cùng một lúc, chúng tôi kết hợp các điều kiện khác nhau đó với toán tử . Điều kiện kết hợp như vậy sẽ trở thành False ngay khi một điều kiện kiểm tra False . Hãy xem một số ví dụ.

# Câu lệnh if cần hai điều kiện True

Vì vậy, khi chúng tôi kết hợp các điều kiện với , cả hai điều kiện phải là True cùng một lúc. Dưới đây là câu lệnh if ví dụ về điều đó:

  

# Nhiệt độ hiện tại

currentTemp

=

30,2

# Nhiệt độ cực đại (tính bằng C)

tempHigh

=

40,7

tempLow

=

-

18,9

# So sánh nhiệt độ hiện tại với nhiệt độ cực đoan

if

currentTemp

& gt;

tempLow

currentTemp

& lt;

tempHigh

:

print

(

'Nhiệt độ hiện tại ('

+

str

(

currentTemp

< p class = "p">)

+

') nằm giữa các điểm cực trị cao và thấp.'

)

Đầu tiên, chúng tôi thực hiện currentTemp biến với nhiệt độ hiện tại. Sau đó, chúng tôi tạo hai biến khác, tempHigh tempLow . Những con số đó đại diện cho các kỷ lục mọi thời đại cho một trạm thời tiết cụ thể.

Bây giờ chúng tôi muốn biết liệu nhiệt độ hiện tại có nằm giữa các điểm cực trị đó hay không. Vì vậy, chúng tôi có một câu lệnh if kiểm tra hai điều kiện. Đầu tiên là xem nhiệt độ có trên mức thấp kỷ lục hay không ( currentTemp & gt; tempLow ). Cái khác xem nhiệt độ có ở mức cao kỷ lục không ( currentTemp & lt; tempHigh ).

Chúng tôi kết hợp các điều kiện đó với toán tử . Điều đó làm cho câu lệnh if chỉ chạy khi cả hai đều là True. Vì đúng như vậy, mã đó thực thi và print () hiển thị như sau:

  Nhiệt độ hiện tại (30,2) nằm giữa các cực cao và thấp.
 

# Câu lệnh if yêu cầu một số điều kiện True

Toán tử có thể kết hợp nhiều điều kiện nếu cần. Bởi vì mỗi điều kiện chúng tôi thêm với tìm kiếm một điều cụ thể, câu lệnh if của chúng tôi có thể chạy trong các tình huống rất cụ thể.

Giả sử rằng một nhà hàng thức ăn nhanh cung cấp 4 phần bổ sung tùy chọn cho khách hàng với mỗi đơn đặt hàng. Nếu mã của chúng tôi trông giống nếu ai đó đã đặt hàng cả bốn tính năng bổ sung, chúng tôi thực hiện:

  

# Kiểm tra xem khách hàng đã đặt món nào

dietCoke

=

Đúng

khoai tây chiên

=

Đúng

lắc

=

Sai

extraBurger

=

Đúng

if

dietCoke

khoai tây chiên

lắc

< p class = "n"> extraBurger

:

print

(

"Khách hàng muốn:"

)

print

(

"- Ăn kiêng thay vì than cốc thường xuyên"

)

print

(

"- Thêm khoai tây chiên"

)

print

(

"- Một ly sữa lắc"

)

print

(

"- Thêm một chiếc bánh mì kẹp thịt"

)

else

:

print

(

"Khách hàng không muốn uống coca ăn kiêng",

< p class = "o"> +

"thêm khoai tây chiên, sữa lắc, * và * thêm một chiếc bánh mì kẹp thịt."

)

Đầu tiên, chúng ta tạo bốn biến true / false ( dietCoke , fries , lắc extraBurger ). Những thứ đó thể hiện những gì bổ sung mà khách hàng muốn.

Sau đó, chúng tôi viết mã câu lệnh if / else . Để làm cho mã if của nó chạy, bốn điều kiện phải là True cùng một lúc. Đó là bởi vì chúng tôi kết hợp tất cả bốn biến true / false với toán tử . Đáng buồn thay, một trong số chúng là False : lắc vì khách hàng không muốn uống sữa lắc.

Điều đó cũng làm cho toàn bộ điều kiện được kiểm tra False . Và do đó, mã if không chạy, nhưng mã else thì có. Ở đó, hàm print () cho biết khách hàng không muốn có tất cả bốn tính năng bổ sung:

  Khách hàng không muốn ăn kiêng coca, thêm khoai tây chiên, sữa lắc, * và * thêm một chiếc bánh mì kẹp thịt.
 

# Một điều kiện True trong câu lệnh if: the hoặc toán tử

Một tùy chọn khác là toán tử hoặc . Khi chúng tôi kết hợp các điều kiện với toán tử đó, chỉ cần một điều kiện phải là True để làm cho toàn bộ kết hợp True . Chỉ khi mỗi điều kiện False thì câu lệnh if của chúng ta mới kiểm tra False . Hãy xem một số ví dụ về điều đó.

# Câu lệnh if chỉ cần một trong hai điều kiện

Vì vậy, khi chúng tôi kết hợp các điều kiện với hoặc , chỉ một điều kiện phải là True . Dưới đây là cách chúng tôi có thể sử dụng hành vi đó với câu lệnh if :

  

# Nhiệt độ hiện tại

currentTemp

=

40,7

# Nhiệt độ cực đại (tính bằng C)

tempHigh

=

40,7

tempLow

=

-

18,9

# So sánh nhiệt độ hiện tại với nhiệt độ cực đoan

if

currentTemp

& gt;

tempLow

hoặc

currentTemp

& lt;

tempHigh

:

print

(

'Nhiệt độ ('

+

str

(

currentTemp

)

+

') trên mức thấp kỷ lục hoặc'

+

'dưới mức cao kỷ lục.'

)

else

:

print

(

"Nhiệt độ kỷ lục mới!"

)

Đầu tiên chúng ta tạo ba biến. currentTemp có giá trị đọc nhiệt độ hiện tại; tempHigh tempLow chứa các điểm cực đoan mọi thời đại của trạm thời tiết.

Một câu lệnh if / else sau đó so sánh nhiệt độ hiện tại với các điểm cực trị đó. Phần if kiểm tra hai điều kiện. Đầu tiên, chúng tôi xem liệu nhiệt độ hiện tại có trên mức thấp nhất mọi thời đại hay không ( currentTemp & gt; tempLow ). Sau đó, chúng tôi kiểm tra xem nhiệt độ có thấp hơn giá trị đọc cao nhất hay không ( currentTemp & lt; tempHigh ).

Vì chúng tôi kết hợp hai điều kiện đó với toán tử hoặc , nên chỉ cần kiểm tra True trước khi Python chạy mã if . Vì nhiệt độ hiện tại cao hơn mức tối thiểu (nhưng không dưới mức tối đa), toàn bộ điều kiện của chúng tôi kiểm tra True nhờ hoặc .

Vì vậy, mã if thực thi. Ở đó, hàm print () cho biết nhiệt độ hiện tại cao hơn kỷ lục lạnh nhất hoặc nóng nhất:

  Nhiệt độ (40,7) trên mức thấp kỷ lục hoặc thấp hơn mức cao kỷ lục.
 

# Câu lệnh if cần một điều kiện Đúng trong số một số điều kiện

Với toán tử hoặc , chúng ta có thể kết hợp nhiều điều kiện nếu cần. Khi làm như vậy, chúng ta vẫn chỉ cần một điều kiện True để tạo toàn bộ kết hợp True . Điều này thường có nghĩa là chúng ta càng kết hợp nhiều điều kiện với hoặc , thì khả năng toàn bộ điều kiện là True càng lớn.

Dưới đây là một chương trình mẫu kiểm tra nhiều điều kiện hoặc :

  

# Kiểm tra xem khách hàng đã đặt món nào

noSalt

=

Đúng

dietCoke

=

Sai

khoai tây chiên

=

Sai

lắc

=

Sai

# Xử lý đơn đặt hàng của khách hàng

nếu

noSalt

hoặc

dietCoke

hoặc

khoai tây chiên

hoặc

< p class = "n"> lắc

:

print

(

"Tùy chọn bổ sung cho đơn đặt hàng:"

< p class = "p">)

print

(

"Không có muối:

\ t \ t

"

,

noSalt

)

print

(

"Than cốc ăn kiêng:

\ t \ t

"

,

dietCoke

)

print

(

"Khoai tây chiên:

\ t

"

,

khoai tây chiên

)

print

(

"Milkshake:

\ t

"

,

lắc

)

else

:

print

(

"Không cần bổ sung cho đơn đặt hàng này. Vui lòng tiếp tục."

)

Chương trình này xử lý các đơn đặt hàng của khách hàng tại một nhà hàng thức ăn nhanh. Đầu tiên chúng ta tạo bốn biến ( noSalt , dietCoke , fries lắc ). Mỗi cái nhận được một True hoặc False dựa trên những gì khách hàng đã đặt hàng.

Sau đó, chúng tôi xử lý đơn đặt hàng đó với câu lệnh if / else . Phần if kết hợp bốn biến với toán tử hoặc thành một điều kiện duy nhất. Vì vậy, chỉ một biến True là đủ để làm cho mã if chạy. Và chắc chắn, một biến ( noSalt ) thực sự là True .

Mặc dù tất cả các biến khác là False , nhưng một biến True đó đủ để chạy mã if . Có print () hiển thị những gì khách hàng đã đặt hàng bằng cách xuất ra giá trị của từng biến:

  Các tính năng bổ sung tùy chọn cho đơn đặt hàng:
Không có muối: Đúng
Coke ăn kiêng: Sai
Khoai tây chiên: Sai
Milkshake: Sai
 

# Các điều kiện phức tạp trong câu lệnh if của Python: + hoặc

Để xử lý các tình huống phức tạp, câu lệnh if của chúng tôi có thể kết hợp các toán tử hoặc với nhau. Bằng cách đó, chúng tôi biến một số điều kiện thành mã, trong đó một số điều kiện phải xảy ra đồng thời () trong khi những điều kiện khác chỉ cần một điều kiện là True ( hoặc ).

Khi chúng tôi viết mã các điều kiện phức tạp, bạn nên sử dụng dấu ngoặc đơn ( () ). Đôi khi họ được yêu cầu thay đổi thứ tự hoạt động của Python. Và vào những lúc khác, họ chỉ đơn giản là làm cho mã dễ hiểu hơn.

Hãy xem cách kết hợp các điều kiện với hoặc trông như thế nào. Dưới đây là một ví dụ nhanh:

  

điều kiện

=

< p class = "p"> (

A

B

)

hoặc

C

Điều kiện kết hợp này kiểm tra True trong một trong hai trường hợp:

  • Khi kết hợp A B True .
  • Hoặc khi C True .

Khi cả điều kiện đầu tiên và điều kiện thứ hai đều False , thì sự kết hợp này cũng là False .

Đây là một ví dụ khác:

  

điều kiện

=

< p class = "p"> (

A

hoặc

B

)

C

Sự kết hợp này là True khi hai điều xảy ra cùng một lúc:

  • A hoặc B True .
  • C kiểm tra True .

Khi A B kết hợp thành False C False , thì điều kiện kết hợp cũng là False . Bây giờ chúng ta hãy xem xét một số chương trình ví dụ Python để tìm hiểu thêm.

# Ví dụ: câu lệnh if với các điều kiện + hoặc

Giả sử rằng chương trình của chúng tôi xử lý các đơn đặt hàng tại một nhà hàng thức ăn nhanh. Để chỉ định nhân viên phù hợp theo đơn đặt hàng, chúng tôi phải biết khách hàng có muốn thêm đồ uống hay thức ăn hay không. Chúng tôi đánh giá điều đó với câu lệnh if / else :

  

# Kiểm tra các món bổ sung mà khách hàng đã đặt

dietCoke

=

Sai

lắc

=

Đúng

khoai tây chiên

=

Đúng

burger

=

Đúng

# Đánh giá đơn đặt hàng của khách hàng

if

(

dietCoke

hoặc

lắc

)

< p class = "p"> (

khoai tây chiên

hoặc

burger

):

print

(

"Khách hàng muốn thêm đồ uống"

+

"(cốc ăn kiêng và / hoặc thức uống lắc) và thức ăn thêm"

+

"(khoai tây chiên và / hoặc bánh mì kẹp thịt)."

)

else

:

print

(

"Khách hàng không muốn cả hai"

+

"thêm đồ uống * và * đồ ăn thêm."

)

Đầu tiên chúng ta làm bốn món các biến: dietCoke , lắc , khoai tây chiên burger . Mỗi thứ cho biết liệu khách hàng có muốn phần bổ sung cụ thể đó ( True ) hay không ( False ).

Sau đó, chúng tôi xử lý đơn đặt hàng với câu lệnh if / else . Ở đó, chúng tôi đánh giá hai nhóm điều kiện, được kết hợp với . Điều đó có nghĩa là cả hai nhóm phải là True trước khi mã if chạy.

Nhóm đầu tiên xem liệu khách hàng có gọi cốc ăn kiêng hay sữa lắc ( dietCoke hoặc lắc ) hay không. Bởi vì chúng tôi kết hợp các biểu thức đó với hoặc , chỉ cần một biểu thức phải là True để làm cho nhóm này True . (Vì lắc True , nên kết quả thực sự là True .)

Bây giờ cho nhóm thứ hai. Ở đây, chúng tôi xem liệu khách hàng có đặt thêm khoai tây chiên hay bánh mì kẹp thịt ( khoai tây chiên hoặc bánh mì kẹp thịt ) hay không. Một lần nữa, chúng tôi sử dụng toán tử hoặc để một giá trị True là đủ để làm cho nhóm này True . (Vì cả hai đều là True , nên kết quả cũng là True .)

Vì nhóm bên trái và bên phải đều là True , việc kết hợp chúng với cũng cho giá trị True . Và do đó, mã if chạy. Ở đó, hàm print () cho biết khách hàng muốn những gì bổ sung:

  Khách hàng muốn thêm đồ uống (coca ăn kiêng và / hoặc lắc) và thức ăn thêm (khoai tây chiên và / hoặc bánh mì kẹp thịt).
 

Lưu ý rằng chúng tôi không chính xác lắm về những gì khách hàng muốn. Vì nhiều trường hợp có thể kích hoạt mã if , chúng tôi không thể nói điều gì đã làm cho mã đó chạy. Đây là hệ quả của toán tử hoặc .

Nói chung, bạn càng kết hợp nhiều điều kiện với hoặc , thì bạn càng có thể hiểu được nguyên nhân khiến mã chạy càng kém chính xác.

# Các cách khác để xử lý các điều kiện của câu lệnh if

Bên cạnh việc thử nghiệm một số tình huống, có nhiều cách khác để viết mã nếu điều kiện:

  • Trong so sánh giá trị với câu lệnh if , chúng tôi khám phá cách chúng tôi viết mã lớn hơn và nhỏ hơn các kịch bản.
  • Trong kiểm tra tư cách thành viên câu lệnh if , chúng tôi có toán tử in kiểm tra xem một số giá trị có xuất hiện trong một giá trị khác hay không.

Để biết thêm về câu lệnh if của Python, hãy xem danh mục câu lệnh if .

Để đánh giá các tình huống phức tạp, chúng tôi kết hợp một số điều kiện trong cùng một câu lệnh if. Python có hai toán tử logic cho điều đó.

Toán tử trả về True khi điều kiện ở bên trái và điều kiện ở bên phải đều là True . Nếu một hoặc cả hai False , thì kết hợp của chúng cũng là False . Điều đó lập trình các tình huống nghiêm ngặt: chỉ khi đồng thời một số điều kiện True thì câu lệnh if của chúng ta mới chạy.

Toán tử hoặc khác nhau. Cái này trả về True khi điều kiện bên trái và / hoặc bên phải của nó là True . Chỉ với cả hai False thì kết hợp hoặc mới trả về False . Điều đó làm cho câu lệnh if của chúng tôi linh hoạt hơn: giờ đây một giá trị True là đủ để chạy mã của nó.

Đối với các trường hợp phức tạp, chúng tôi kết hợp các toán tử hoặc . Với dấu ngoặc đơn, sau đó, chúng tôi làm rõ mã của mình và chỉ định cách Python xử lý các điều kiện khác nhau.

Tài liệu tham khảo

Lutz, M. (2013). Học Python (Phiên bản thứ 5). Sebastopol, CA: O’Reilly Media.

Python.org (n.d.). Biểu thức. Được lấy vào ngày 5 tháng 8 năm 2019, từ https://docs.python.org/3/reference/expressions.html

Sweigart, A. (2015). Tự động hóa công việc nhàm chán với Python: Lập trình thực tế cho người mới bắt đầu. San Francisco, CA: No Starch Press.

«Tất cả các bài viết Python if / else


Xem thêm những thông tin liên quan đến chủ đề sử dụng hoặc trong lệnh if python

Cách dùng câu lệnh điều kiện if trong Python từ A-Z phần 1

  • Tác giả: Gà Python
  • Ngày đăng: 2021-10-06
  • Đánh giá: 4 ⭐ ( 5148 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách dùng câu lệnh điều kiện if trong Python từ A-Z phần 1

Lệnh if, if...else, if...elif...else trong Python

  • Tác giả: quantrimang.com
  • Đánh giá: 4 ⭐ ( 6240 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lệnh if trong Python là một trong những lệnh phổ biến và dễ học nhất. Ngoài if còn có if else, if elif else. Hãy cùng tìm hiểu chi tiết và xem ví dụ về các lệnh if này nhé.

Lệnh if – elif – else trong Python

  • Tác giả: topdev.vn
  • Đánh giá: 4 ⭐ ( 3356 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lệnh if trong Python là giống như trong ngôn ngữ C. Lệnh này được sử dụng để kiểm tra một điều kiện, nếu điều kiện là true thì lệnh của khối if sẽ được thực thi, nếu không nó sẽ bị bỏ qua.

Sử dụng các hàm IF với AND, OR và NOT

  • Tác giả: support.microsoft.com
  • Đánh giá: 3 ⭐ ( 7977 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách sử dụng hàm IF (kết hợp với các hàm AND, OR và NOT) trong công thức Excel thực hiện so sánh lô-gic giữa các giá trị đã cho.

Bài 6. Câu lệnh vòng lặp for trong Python

  • Tác giả: o2.edu.vn
  • Đánh giá: 3 ⭐ ( 6886 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để điều khiển luồng chương trình, ngoài câu lệnh rẽ nhánh if thì Python còn cung cấp các câu lệnh vòng lặp. Có hai loại vòng lặp là vòng lặp for và vòng lặp

Lệnh if...elif...else trong Python

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 1487 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lệnh if...elif...else trong Python - Học Python cơ bản và nâng cao theo các bước đơn giản từ Tổng quan, Cài đặt, Biến, Toán tử, Cú pháp cơ bản, Hướng đối tượng, Vòng lặp, Chuỗi, Number, List, Dictionary, Tuple, Module, Xử lý ngoại lệ, Tool, Exception Handling, Socket, GUI, Multithread, Lập trình mạng, Xử lý XML.

Câu lệnh if else trong python

  • Tác giả: mylop.edu.vn
  • Đánh giá: 4 ⭐ ( 8716 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ học cách sử dụng câu lệnh if else trong Python, đây là lệnh giúp rẻ nhánh chương trình và được sử dụng rất nhiều trong lúc lập trình

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  SQL Injection - sql injection 1 1 lần đăng nhập