Hãy nói về logic có điều kiện, một khái niệm quan trọng trong lập trình.
Ý tôi là gì về logic có điều kiện?
Chúng ta đã học về boolean, phải không?
Chúng tôi có sự thật.
Và chúng tôi có sai.
Và một số bạn có thể tự hỏi tại sao chúng lại hữu ích như vậy.
Và khi nói đến logic có điều kiện, boolean thực sự rất quan trọng.
Ví dụ: giả sử chúng ta tạo một biến là alt.
Và bạn biết những gì?
Chúng tôi sẽ tạo ra một chiếc ô tô tự động phát hiện xem bạn có thể nổ máy hay không.
Có thể nếu bạn chưa đủ tuổi, động cơ sẽ không nổ và sẽ không cho phép bạn lái để họ đảm bảo
rằng chiếc xe này siêu an toàn và chỉ những người trên 18 tuổi mới có thể lái nó.
Vì vậy, làm thế nào chúng tôi có thể mã một cái gì đó như vậy?
Hãy giả sử Tesla có một tính năng mới như thế này.
Chà, chúng ta sẽ có một cái gì đó giống như là cũ và chúng ta sẽ đặt nó thành.
ĐÚNG VẬY.
Đúng.
Có lẽ chúng ta có một cái gì đó khác.
Có thể nó kiểm tra giấy phép để đảm bảo rằng chúng ta có giấy phép nên có thể nói là giấy phép.
Và sau đó chúng ta có thể đặt nó thành true.
Bây giờ những điều này có thể thay đổi true và false, tùy thuộc vào người dùng và trình điều khiển.
Nhưng khi tôi nói về điều kiện, đây là ý tôi.
Trong Python, chúng ta có thể sử dụng từ khóa if để cho biết nếu một số điều kiện tồn tại và đây chỉ là tôi viết nó.
Nó không tồn tại.
Bạn có thể thấy rằng tôi nhận được một gạch dưới màu đỏ với cú pháp không hợp lệ.
Nhưng ở đây chúng tôi muốn nói một điều kiện được đánh giá là true hoặc false.
Trong trường hợp của chúng ta, chúng ta có thể nói, hey, nếu là cũ, cái mà nó đánh giá là tốt thì sẽ đánh giá là đúng.
Nếu điều đó đúng, thì giả sử in.
Bạn đã đủ tuổi để lái xe.
Bây giờ có một vài điều mới ở đây.
Một, tôi đã thêm dấu chấm phẩy hoặc dấu hai chấm.
Và sau đó bạn sẽ thấy ở đây rằng thụt lề là khác nhau.
Như một vấn đề của thực tế, khi tôi nhấn enter.
Sau Cullen, bạn thấy rằng nó tự động cho tôi một khoảng trống.
Điều này cho trình thông dịch Python biết rằng tôi sẽ thực hiện một câu lệnh if, một hoạt động có điều kiện.
Và nếu điều này xảy ra là sự thật.
Chạy mọi thứ bên trong đây có thụt lề này.
Và nếu tôi làm điều gì đó mà không có thụt lề, giả sử in.
Kiểm tra.
Điều này đối với trình thông dịch Python giống như một dòng hoàn toàn mới.
Nó không phải là một phần của khối F này.
Và nếu bạn đang sử dụng gợn sóng mà bạn nhìn thấy ở đây, tôi sẽ nhận được một dấu trừ nhỏ nếu tôi nhấp vào đây.
Bạn thấy nó ẩn như thế nào.
Chà, nó đang nói gì, đây là một khối mã ở đây.
Bản thân nó là một thứ hoàn toàn.
Nhưng bất cứ thứ gì bên ngoài không được thụt vào cũng không thuộc về nó.
Vì vậy, đối với một trình thông dịch Python, nó sẽ nói rằng, tôi có dòng này và sau đó tôi có dòng này.
Hãy để tôi cho bạn thấy ý của tôi nếu tôi chạy chương trình này.
Tôi hiểu bạn đã đủ tuổi để lái xe.
Và sau đó tôi cũng nhận được séc.
Kiểm tra.
Nhưng nếu tôi nói xưa là sai thì sao?
Bạn nghĩ điều gì sẽ xảy ra?
Nếu tôi chạy cái này.
Tôi có?
Kiểm tra.
Trình thông dịch Python của chúng tôi sẽ nói, hey, đặt kết quả biến thành false, bộ hey được cấp phép bằng
với true.
Và sau đó nó sẽ chuyển đến dòng thứ ba.
Không, không có gì ở đó.
Tôi sẽ tiếp tục xếp hàng cho.
Này, nếu là cũ, điều này có đúng không?
Không.
Nếu tất cả điều này là sai và trình thông dịch sẽ nói, och, tôi chỉ phải chạy đoạn mã này nếu
điều này là đúng bởi vì điều này bây giờ là sai, tôi sẽ hoàn toàn bỏ qua những gì bên dưới đây và
chỉ đi đến dòng tiếp theo có, tốt, không có thụt lề.
Vì vậy, nó sẽ in, kiểm tra, kiểm tra.
Và đây là sức mạnh của điều kiện.
Về cơ bản, chúng tôi có thể bỏ qua các dòng.
Thông dịch viên thậm chí không quan tâm đến những gì ở đây bởi vì tôi vừa bảo chương trình của mình bỏ qua từ dòng
bốn đến dòng sáu.
Làm thế nào là mát đó là?
Vì vậy, chúng tôi đã học được rằng có từ khóa if này, nhưng cũng có một thứ khác mà chúng tôi có thể sử dụng được gọi là else.
Và bạn sẽ nhận thấy ở đây rằng tôi đã không thêm nó vào phần thụt lề.
Và khác, như tên cho thấy, nói một cách đơn giản.
Này, nếu điều này là sự thật, thì hãy làm điều này.
Nếu không, cũng có thể làm điều này.
Và một lần nữa, bạn thấy rằng tôi đã thêm thụt lề.
Vì vậy, hãy thử đoán xem điều gì sắp xảy ra trong chương trình này.
Nếu tôi bấm Chạy.
Tôi nhận được séc.
Kiểm tra vì nó đang nói, hey, đã cũ.
Có đúng như vậy không?
Không, nó không đúng.
Được chứ.
Tôi sẽ hoàn toàn bỏ qua những gì thông dịch viên thấy khác.
Chà, điều này không đúng.
Vì vậy, tôi sẽ chạy.
Bất cứ khi nào điều này được đánh giá là false, tôi sẽ luôn chạy.
In, kiểm tra.
Kiểm tra.
Nếu tôi thay đổi thì sao?
Xưa đến nay có bằng true không?
Chuyện gì sẽ xảy ra tiếp theo?
Tốt.
Tôi có?
Bạn đã đủ tuổi để lái xe.
Khác.
Chỉ chạy nếu khối mã f đánh giá là false.
Rất, rất tuyệt.
Được rồi.
Hãy để tôi hỏi bạn một câu hỏi khác.
Nếu tôi đã in ở đây thì sao?
Và hãy thay đổi điều này để bạn không có tuổi.
Nếu tôi chạy cái này.
Đó có phải là những gì bạn mong đợi?
Vâng, tôi hy vọng bây giờ bạn đồng ý rằng đây là hành vi được mong đợi bởi vì cũ là đúng.
Tôi sẽ in cái này và sau đó trình thông dịch Python sẽ nói, tốt, điều này là đúng, vì vậy
tôi sẽ hoàn toàn bỏ qua khối và sau đó chuyển sang dòng tiếp theo.
Có gì trên dòng tám?
Không.
Vì vậy, tôi sẽ đi đến dòng chín và tôi sẽ in OC OC OC.
Như bạn có thể thấy, chúng tôi hiện đang kiểm soát luồng chương trình của mình, thay vì đi từ 1 đến 9, chỉ từng dòng
một, chúng tôi đang nói dòng bốn, hãy thực hiện một số loại kiểm tra.
Và dựa trên đó, hãy bỏ qua một vài dòng.
Rất, rất tuyệt.
Được rồi.
Có một điều khác tôi muốn cho bạn thấy.
Và đó là chữ L.
Nếu.
Và tôi biết kiểu này trông kỳ lạ.
Bạn sẽ nghĩ rằng nó sẽ khác nếu, nhưng.
Không không không.
Đó là tôi.
F.
Và bạn nghĩ điều này có tác dụng gì?
Bạn sử dụng nó kết hợp với if you say if something.
Nếu.
Nếu không thì.
Khác.
Nếu.
Một điều kiện khác.
Vì vậy, hãy nói.
Được cấp phép.
Sau đó làm điều kiện khác.
Vì vậy, giả sử in.
Bạn có thể lái xe ngay bây giờ.
Vì vậy, chúng ta hãy đi qua điều này một lần nữa.
Tôi sẽ nói, người này đã đủ lớn chưa?
Nếu người đó đủ tuổi và điều này được đánh giá là đúng.
Vậy thì tôi muốn bạn.
Chạy cái này.
Nếu không thì.
Tôi muốn bạn chạy điều kiện này.
Này, điều này có đúng không?
Không.
Nếu nó không đúng, thì hãy chuyển sang mục khác.
Vì vậy, điều gì sẽ xảy ra ở đây nếu tôi nhấp vào Chạy?
Chúng tôi nhận được true cho khối điều kiện đầu tiên ngay tại đây.
Vì vậy, trình thông dịch Python tự động sẽ nói, Chà, chúng tôi vừa đúng ở đây, vì vậy tôi sẽ
bỏ qua điều này và bỏ qua điều này và sau đó in.
Được rồi được rồi.
Nhưng hãy nói rằng điều đó đã cũ bây giờ là sai.
Chuyện gì sẽ xảy ra tiếp theo?
Nếu tôi bấm Chạy.
Điều này là sai.
Vì vậy, trình thông dịch Python sẽ nói, không, sẽ không quan tâm đến khối này và tôi
sẽ đi, này, nếu một điều kiện khác, người này có được cấp phép không?
Đúng vậy.
Vì vậy, tôi sẽ in.
Bạn có thể lái xe ngay bây giờ và bỏ qua những thứ khác.
Vì vậy, nó hoạt động như thế này.
Điều gì sẽ xảy ra nếu cả hai điều này đều sai?
Vâng, như bạn có thể tưởng tượng, trình thông dịch Python sẽ bỏ qua nó sẽ chạy câu nói này, không, điều này
là sai, không có này, điều này là sai.
Và cuối cùng nó sẽ chạy điều này.
Bạn thấy đó, đó là một lợi ích khác.
Tất cả những điều đó, nếu không có điều kiện nào trong số này là đúng, thì chúng tôi sẽ chạy điều này.
Vì vậy, nó là một bản sao lưu theo một nghĩa nào đó.
Này, nếu mọi thứ không thành công, thì hãy làm điều này.
Rất, rất tuyệt.
Bây giờ, nếu bạn nhìn vào chương trình này, bạn đang nghĩ, hmm, chương trình này không thực sự hoạt động tốt, phải
không?
Ý tôi là, chúng tôi đang kiểm tra xem người đó có già không và liệu người đó có được cấp phép hay không, nhưng chúng tôi có nên kiểm tra cả hai không?
Chúng tôi muốn ai đó có bằng lái và đủ tuổi để làm khô.
Hừ!
Đây là.
Đây là một chương trình có lỗi.
Nếu chúng ta thực hiện điều này trong Tesla, thì chúng ta sẽ nhận được rất nhiều vụ kiện, phải không?
Bởi vì chúng tôi có thể tìm được ai đó có thể được cấp phép nhưng chưa đủ tuổi, điều này tôi đoán là không hợp lý.
Nhưng chúng ta có thể tìm được ai đó đủ tuổi nhưng chưa có bằng lái xe và bằng cách nào đó chúng ta có thể vào được xe và
họ có thể nổ máy và lái xe và.
Ồ, đó là một vụ kiện đang chờ xảy ra.
Vì vậy, làm thế nào chúng ta có thể sửa chữa điều này?
Hừ!
Bạn biết sức mạnh là gì?
Đó là một biểu thức, phải không?
Một biểu thức, nếu bạn nhớ, là một thứ tạo ra giá trị.
Và điều đó có nghĩa là bạn không cần phải biết điều này, chỉ cần đúng ở đây nó có thể là một biểu
thức để tôi có thể nói nếu là như vậy.
Cũ và được cấp phép.
Sau đó, tôi có thể làm điều đó.
Và đây là một cái gì đó mới mà chúng ta chưa từng thấy trước đây.
Kết thúc.
Đây là một từ khóa khác trong Python.
Và trong một video sắp tới, chúng ta sẽ nói về nhiều từ khóa này hơn.
Nhưng điều này nên đọc như tiếng Anh, phải không?
Nếu cũ và được cấp phép, thì hãy làm điều này.
Vì vậy, bây giờ chúng ta có thể loại bỏ LEF.
Và sau đó ở đây.
Cả hai biểu thức cần phải đánh giá đúng.
Đó là, bất cứ điều gì xảy ra ở đây.
Điều này phải đánh giá để đúng.
Và điều này phải đánh giá là đúng.
Và chỉ khi cả hai đều đúng trở lại như trạng thái kết thúc, khi đó bạn đủ tuổi lái xe và có bằng lái.
Vì vậy, nếu tôi chạy điều này.
Tôi nhận được tỷ lệ lỗi vì hoặc không phải lỗi, nhưng nó đi vào khối vì cả hai điều này
đều sai.
Nếu chỉ một trong số chúng là đúng và tôi bấm chạy.
Bạn không có tuổi vì cả hai điều này đều phải đúng.
Nếu tôi bấm Chạy.
Chào.
Được rồi, xe đang nổ máy.
Bạn có thể lái xe Tesla của mình.
Được chứ.
Trước khi tôi hoàn thành video này, vì điều này rất nhiều, tôi chỉ muốn lưu ý một điều đó là câu lệnh
l if.
Câu lệnh trực tiếp thực sự, thực sự hữu ích bởi vì khi bạn có mã như thế này, nơi bạn có một câu lệnh
if và một câu lệnh L.
Thông thường bạn chỉ nhìn thấy một trong mỗi.
Ý tôi là, chắc chắn, trong một phần khác của chương trình, tôi có thể có một câu lệnh if khác và
một câu lệnh if với một câu lệnh khác khác bên trong đây.
Nhưng thông thường khi bạn nhóm này với nhau, bạn chỉ thấy một nếu và một cái khác, nhưng bạn có
thể có nhiều FS nên tôi có thể có điều kiện khác ở đây và sau đó tôi có thể có điều kiện khác ở đây và bạn
có thể có nhiều như bạn muốn.
Cuối cùng chương trình sẽ đánh giá một trong những điều kiện này là đúng hoặc nó sẽ đi vào điều
kiện khác.
KHỐI Nhưng thường thì bạn làm theo thứ tự này.
Được rồi.
Đó là rất nhiều.
Chúng ta hãy nghỉ ngơi và khám phá chủ đề này nhiều hơn một chút.
Hẹn gặp lại các bạn trong phần tiếp theo.
Tạm biệt.