Giúp đỡ về try and except trong python

  1. Viết chương trình nhập 2 số nguyên a và b, sau đó tính và
    in ra giá trị phân số a/b. Chú ý xử lý ngoại lệ trong các tình
    huống dưới đây:
    a) Người dùng nhập a hoặc b không phải số nguyên
    b) Người dùng nhập b = 0

  2. Viết chương trình yêu cầu người dùng nhập a, b và c là độ
    dài 3 cạnh của một tam giác. Xử lý ngoại lệ trong các tình
    huống sau:
    a) Người dùng nhập a, b hoặc c không phải là kiểu số
    b) Người dùng nhập giá trị 0 hoặc số âm cho a, b hoặc c
    c) Người dùng nhập a, b, c dương nhưng không thể là cạnh của một tam giác

Mọi người giúp e với, mới học sang phần này của python mà cái except e chưa hiểu.

bạn cứ chạy để cố tình xảy ra lỗi đó, thấy nó báo lỗi gì thì dùng exception đó. Chẳng hạn khi bạn thực hiện một phép chia cho 0 trong 1b, sẽ có lỗi như sau:

>>> 3/0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

Khi đó ZeroDivisionError là 1 loại exception. Thế thì hãy sửa code lại thành:

try:
    3/0
except ZeroDivisionError:
    print('Khong the chia cho 0')

>> Khong the chia cho 0

Bạn cũng có thể check và sau đó raise exception:
Ví dụ ở 1a)

>>> 
if int(3.5) != 3.5: 
    raise ValueError('Ban khong nhap so nguyen')
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Ban khong nhap so nguyen
2 Likes

E cám ơn a, tại mấy cái định nghĩa về lỗi trong except e ko hiểu nên ko biết dùng.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?