⊗pyPmExcFu 82 of 129 menu

Hàm có ngoại lệ trong Python

Ngoại lệ rất tiện lợi để ném ra, bằng cách quy định chúng trong hàm thông qua các điều kiện.

Hãy tạo một hàm get_sum, hàm này sẽ trả về tổng các phần tử của danh sách chỉ khi độ dài danh sách nhỏ hơn hoặc bằng 3. Trong trường hợp ngược lại, hãy để nó ném ra ngoại lệ của chúng ta ToBigLength:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

Bây giờ hãy truyền vào hàm get_sum một danh sách và in kết quả hàm ra console:

lst = [1, 2, 3, 4] print(get_sum(lst)) # sẽ in ra 6

Ngoài ra, trong các hàm cũng có thể đặt việc bắt nhiều loại ngoại lệ. Hãy tạo thêm một lớp ngoại lệ ToSmallLength:

class ToSmallLength(Exception): pass

Bây giờ, hãy quy định trong hàm điều kiện: nếu độ dài danh sách bằng 0, thì hãy để nó ném ra ToSmallLength. Nếu không có ngoại lệ nào được ném ra, thì hãy để nó trả về tổng tất cả các phần tử của danh sách:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

Để tiện lợi, có thể đặt danh sách sẽ được truyền vào tham số hàm, bản thân hàm và lời gọi của nó vào khối try. Còn việc bắt hai ngoại lệ của chúng ta sẽ đặt trong các khối except:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Tạo một hàm nhận một số làm tham số. Trong đó, hãy quy định các điều kiện: nếu số đó âm và bằng 0, thì hãy để nó ném ra các ngoại lệ tương ứng. Trong trường hợp ngược lại, hãy để số đó được nhân với 3.

Kiểm tra hoạt động của hàm bạn vừa tạo bằng cách sử dụng cấu trúc try-except. Đồng thời cũng hãy bắt các ngoại lệ của bạn.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối