.

Mời các tml vô giải thích sao không sài if-else, case-switch mà sài assertion. Nó có tác dụng gì.

Python:
def ChuyenKF(Nhietdo):
   assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
   return ((Nhietdo-273)*1.8)+32

print ChuyenKF(273)
print int(ChuyenKF(505.78))
print ChuyenKF(-5)
Nếu mày code gì nhiệt độ < 0 trả lỗi liền. Nó để check. Nói chung assert để kiểm tra xác nhận điều kiện, if esle để chạy luồng. Nếu mày dùng if else thì else mặc định <0 rồi chỉ return giá trị
 
Lý do chính để sử dụng assert là nhằm gỡ lỗi và đảm bảo rằng một số điều kiện phải đúng trong khi chương trình đang chạy. assert không được sử dụng cho việc xử lý logic thông thường mà để phát hiện các vấn đề không mong đợi trong quá trình phát triển. Dưới đây là lý do tại sao có người sẽ chọn assert thay vì if-else:

  1. Kiểm tra tính đúng đắn trong quá trình phát triển: Khi lập trình, assert giúp bạn nhanh chóng phát hiện lỗi trong quá trình phát triển bằng cách dừng chương trình nếu điều kiện không thỏa mãn. Điều này rất hữu ích khi bạn tin chắc một điều gì đó phải đúng nhưng muốn đảm bảo nó luôn được giữ nguyên trong code.
  2. Thông báo về lỗi lập trình: Khi một điều kiện không đúng, assert sẽ ném ra một lỗi và thông báo rằng có một lỗi lập trình đã xảy ra (ví dụ như dữ liệu đầu vào không hợp lệ).
  3. Gỡ lỗi nhanh: assert được sử dụng khi bạn muốn kiểm tra nhanh một điều kiện mà không cần phải viết nhiều mã xử lý (ví dụ như không cần thông báo lỗi chi tiết, chỉ cần biết có lỗi là dừng ngay).
Tuy nhiên, assert không nên được sử dụng cho các kiểm tra logic thông thường hoặc để xử lý các trường hợp người dùng nhập liệu không chính xác trong môi trường sản xuất. if-else phù hợp hơn khi bạn muốn xử lý lỗi một cách có kiểm soát, hiển thị thông báo hoặc đưa ra giải pháp khi gặp lỗi.
 
Nếu mày code gì nhiệt độ < 0 trả lỗi liền. Nó để check. Nói chung assert để kiểm tra xác nhận điều kiện, if esle để chạy luồng. Nếu mày dùng if else thì else mặc định <0 rồi chỉ return giá trị
M nói tao chưa rõ lắm.

Sao không sài if-else để nó tiếp tục chạy mà phải cho nó dừng rồi in ra đoạn lỗi m tự cài đặt trong assert statement làm j nhỉ.
 
Văn chương chau chuốt làm gì
Nhìn nhận thời thế tùy cơ hành sự mới là cảnh giới cao hơn- tư mã ý
Cái gì if else đc thì cứ if else bày vẽ nhiều cũng làm culi code thôi
Mấy tml top lol hay đá banh có múa đâu 😀
 
Sửa lần cuối:
Văn chương chau chuốt làm gì
Nhìn nhận thời thế tùy cơ hành sự mới là thiên tài - tư mã ý
Cái gì if else đc thì cứ if else bày vẽ nhiều cũng làm culi code thôi
còn tùy chẳng lẽ bây giờ mày code nếu tháng 1 làm gì, tháng 2 làm gì đến tháng 12 mà mày cứ if else, người ta sẽ gọi là code nông dân, đi cào lùa, phải để vô mảng và cho nó tự chạy. Mỗi cái gì sinh ra đều có cách sử dụng riêng của nó, chủ yếu là có hiểu và vận dụng không ?
 
còn tùy chẳng lẽ bây giờ mày code nếu tháng 1 làm gì, tháng 2 làm gì đến tháng 12 mà mày cứ if else, người ta sẽ gọi là code nông dân, đi cào lùa, phải để vô mảng và cho nó tự chạy. Mỗi cái gì sinh ra đều có cách sử dụng riêng của nó, chủ yếu là có hiểu và vận dụng không ?
Trường hợp đó hiếm lắm
Cả đời gần như chưa code gặp lần nào nên vẫn if else thôi
Ai chửi thì kệ để đầu óc nghĩ cách kiếm tiền
 
Trường hợp đó hiếm lắm
Cả đời gần như chưa code gặp lần nào nên vẫn if else thôi
Ai chửi thì kệ để đầu óc nghĩ cách kiếm tiền
à, tao chém gió vậy thôi chứ tao có biết gì về lập trình đâu. Mà vô đây bàn cl này làm gì cho nhức đầu. Đây là forum 3/ và Lồn vú đít . yêu cầu các đồng chí quay về chuyên mục chính.
 
à, tao chém gió vậy thôi chứ tao có biết gì về lập trình đâu. Mà vô đây bàn cl này làm gì cho nhức đầu. Đây là forum 3/ và lồn vú đít . yêu cầu các đồng chí quay về chuyên mục chính.
Mấy tml mày mè múa mấy cái syntax t đánh giá chỉ ngang con bot chatgpt thôi
 
Trong Python hàm assert mục đích để kiểm kết quả sinh ra bởi các hàm, biến,... Nếu kết quả là False sẽ trả về chuỗi thông báo tương ứng
Dùng chủ yếu để kiểm tra kết trả phù hợp hay không. Ví dụ kết quả của một hàm có phải là một DataFrame, hoặc type có phải là tuple hay không. assert không phải lệnh rẽ nhánh như if else
 
Trong Python hàm assert mục đích để kiểm kết quả sinh ra bởi các hàm, biến,... Nếu kết quả là False sẽ trả về chuỗi thông báo tương ứng
Dùng chủ yếu để kiểm tra kết trả phù hợp hay không. Ví dụ kết quả của một hàm có phải là một DataFrame, hoặc type có phải là tuple hay không. assert không phải lệnh rẽ nhánh như if else
@lồn trâu có thể giải thích thêm đi tml

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print ChuyenKF(-5)
File "test.py", line 4, in ChuyenKF
assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
AssertionError: Lanh hon do khong tuyet doi!
 
còn tùy chẳng lẽ bây giờ mày code nếu tháng 1 làm gì, tháng 2 làm gì đến tháng 12 mà mày cứ if else, người ta sẽ gọi là code nông dân, đi cào lùa, phải để vô mảng và cho nó tự chạy. Mỗi cái gì sinh ra đều có cách sử dụng riêng của nó, chủ yếu là có hiểu và vận dụng không ?
Nếu if else nhiều thì switch-cases
Còn if else mà bên trong lồng quá nhiều xử lý thì tao cố chẻ nó thành các list. Mỗi list cho một def riêng. Tới đó đẩy qua switch gọi func dict lên. Nhìn đỡ rối não.
 
@lồn trâu có thể giải thích thêm đi tml

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print ChuyenKF(-5)
File "test.py", line 4, in ChuyenKF
assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
AssertionError: Lanh hon do khong tuyet doi!
Kết quả sờ sờ rồi giải thích j nữa?
 
Mời các tml vô giải thích sao không sài if-else, case-switch mà sài assertion. Nó có tác dụng gì.

Python:
def ChuyenKF(Nhietdo):
   assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
   return ((Nhietdo-273)*1.8)+32

print ChuyenKF(273)
print int(ChuyenKF(505.78))
print ChuyenKF(-5)
Thua
 
@lồn trâu có thể giải thích thêm đi tml

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print ChuyenKF(-5)
File "test.py", line 4, in ChuyenKF
assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
AssertionError: Lanh hon do khong tuyet doi!
triệu hồi tao làm cl gì, học lập trình thì lên các diễn đàn chuyên bên lập trình, chứ tao lên đây lâu lâu chọt thôi vì không phải chuyên ngành tao, nhưng iq tao tạm ổn để nhìn vào là hiểu vấn đề. Yêu cầu các đồng chí quay lại vấn đề Lồn vú đít, hãy để cho vấn đề này trôi vào dĩ vãng.
 
Nếu if else nhiều thì switch-cases
Còn if else mà bên trong lồng quá nhiều xử lý thì tao cố chẻ nó thành các list. Mỗi list cho một def riêng. Tới đó đẩy qua switch gọi func dict lên. Nhìn đỡ rối não.
tao ko phải it, dân lập trình ,nói tao ko hiểu đâu.
 
@lồn trâu có thể giải thích thêm đi tml

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print ChuyenKF(-5)
File "test.py", line 4, in ChuyenKF
assert (Nhietdo >= 0),"Lanh hon do khong tuyet doi!"
AssertionError: Lanh hon do khong tuyet doi!
Print ChuyenKF(-5)
Sẽ in kết quả của Hàm ChuyenKF với th số -5
Hàm ChuyenKF được gọi
Tham số -5 được truyền vào biến Nhietdo
Assert sẽ kiểm tra biến Nhietdo theo điều kiện >= 0. Do biến là -5 kiểm tra ra kết quả False. Hàm sẽ gọi thông báo lỗi đã cài đặt. Dừng chương trình
 
T không quá master về Python, nhưng sau khi t đọc ở trên xong thì t hiểu assertion khác lớn nhất là chặn lỗi ở bước xét điều kiện của biến thay vì đi theo logic if else rồi chẻ nhánh ra nhiều trường hợp
=> assertion nên đặt ở những chỗ mà điều kiện sai là gần như k xảy ra (như vd là nhiệt độ lạnh hơn 0 độ tuyệt đối), và những bài toán sẽ sử dụng nhiều vòng lặp điều kiện (để tránh tốn tài nguyên)
K biết t hiểu vậy đúng k?
 
T không quá master về Python, nhưng sau khi t đọc ở trên xong thì t hiểu assertion khác lớn nhất là chặn lỗi ở bước xét điều kiện của biến thay vì đi theo logic if else rồi chẻ nhánh ra nhiều trường hợp
=> assertion nên đặt ở những chỗ mà điều kiện sai là gần như k xảy ra (như vd là nhiệt độ lạnh hơn 0 độ tuyệt đối), và những bài toán sẽ sử dụng nhiều vòng lặp điều kiện (để tránh tốn tài nguyên)
K biết t hiểu vậy đúng k?
assert nó có thể đặt bất cứ đâu
Để kiểm tra bất kỳ kết quả nào xem có phù hợp điều kiện hay không
Tao cho mấy đứa làm bài tập Python trên Jupyter
Bài tập gồm 4 phần liên quan nhau.
Mỗi phần là một def, thì sau mỗi def tao chèn một hoặc vài assert để kiểm tra một vài yêu cầu tối thiểu phải đạt được của def đó (phải là DataFrame, có 4 cột 186 hàng,....)
Nghĩa là ko cần phải cho người làm biết kết quả của def nhưng vẫn bảo đảm def đạt yêu cầu để sang bươc tiếp theo.
 
Top