Bài viết này sẽ hướng dẫn bạn cách viết chương trình Python để nhập vào 3 số a, b, c từ người dùng, sau đó kiểm tra xem 3 số đó có thể là 3 cạnh của một tam giác hay không. Chúng ta sẽ đi sâu vào cách xử lý dữ liệu đầu vào, các điều kiện cần thiết để tạo thành một tam giác, và cách viết code Python rõ ràng, dễ hiểu. Bài viết này còn bao gồm xử lý ngoại lệ để đảm bảo chương trình chạy trơn tru ngay cả khi người dùng nhập sai định dạng.
Yêu cầu bài toán
Chương trình cần thực hiện các bước sau:
- Nhận dữ liệu đầu vào: Nhập ba số a, b, c từ người dùng.
- Kiểm tra tính hợp lệ: Đảm bảo ba số này là số dương. Nếu không, hiển thị thông báo lỗi.
- Kiểm tra điều kiện tam giác: Xác minh xem ba số a, b, c có thỏa mãn bất đẳng thức tam giác hay không.
- Xuất kết quả: Hiển thị thông báo cho biết a, b, c có phải là ba cạnh của một tam giác hay không.
- Xử lý ngoại lệ: Xử lý các trường hợp nhập sai định dạng (ví dụ: nhập chữ thay vì số).
Kiến thức cần thiết
- Hàm
input()
: Để nhận dữ liệu từ người dùng. - Ép kiểu dữ liệu: Chuyển đổi dữ liệu nhập vào từ chuỗi sang số (float hoặc int).
- Cấu trúc điều kiện
if...else
: Để kiểm tra các điều kiện và đưa ra quyết định. - Toán tử so sánh:
>
(lớn hơn),<
(nhỏ hơn),>=
(lớn hơn hoặc bằng),<=
(nhỏ hơn hoặc bằng). - Toán tử logic:
and
(và),or
(hoặc),not
(không). - Xử lý ngoại lệ
try...except
: Để bắt và xử lý các lỗi có thể xảy ra trong quá trình thực thi chương trình.
Điều kiện để 3 cạnh tạo thành một tam giác
Ba cạnh a, b, c tạo thành một tam giác khi và chỉ khi tổng của hai cạnh bất kỳ lớn hơn cạnh còn lại. Tức là:
a + b > c
a + c > b
b + c > a
Ngoài ra, ba cạnh này phải là các số dương:
a > 0
b > 0
c > 0
Code Python minh họa
try:
a, b, c = map(float, input("Nhập ba số a, b, c cách nhau bởi khoảng trắng: ").split())
if a <= 0 or b <= 0 or c <= 0:
print("Các cạnh của tam giác phải lớn hơn 0!")
elif a + b > c and a + c > b and b + c > a:
print(f"{a}, {b}, {c} là ba cạnh của một tam giác")
else:
print(f"{a}, {b}, {c} không phải là ba cạnh của một tam giác")
except ValueError:
print("Định dạng đầu vào không hợp lệ! Vui lòng nhập ba số cách nhau bởi khoảng trắng.")
Đoạn code trên sử dụng try...except
để bắt lỗi ValueError
có thể xảy ra khi người dùng nhập vào một giá trị không phải là số. Hàm map(float, input().split())
giúp chuyển đổi chuỗi nhập vào thành ba số thực. Sau đó, code sẽ kiểm tra các điều kiện để xác định xem ba số đó có phải là ba cạnh của một tam giác hay không và in ra kết quả tương ứng.
Ví dụ
Ví dụ 1:
Nhập ba số a, b, c cách nhau bởi khoảng trắng: 3 4 5
3.0, 4.0, 5.0 là ba cạnh của một tam giác
Ví dụ 2:
Nhập ba số a, b, c cách nhau bởi khoảng trắng: 1 2 5
1.0, 2.0, 5.0 không phải là ba cạnh của một tam giác
Ví dụ 3:
Nhập ba số a, b, c cách nhau bởi khoảng trắng: -1 2 3
Các cạnh của tam giác phải lớn hơn 0!
Ví dụ 4:
Nhập ba số a, b, c cách nhau bởi khoảng trắng: a b c
Định dạng đầu vào không hợp lệ! Vui lòng nhập ba số cách nhau bởi khoảng trắng.
Tối ưu code (nâng cao)
Để code ngắn gọn và dễ đọc hơn, bạn có thể viết một hàm kiểm tra điều kiện tam giác:
def la_tam_giac(a, b, c):
"""Kiểm tra xem ba số a, b, c có phải là ba cạnh của một tam giác hay không."""
if a <= 0 or b <= 0 or c <= 0:
return False
return a + b > c and a + c > b and b + c > a
try:
a, b, c = map(float, input("Nhập ba số a, b, c cách nhau bởi khoảng trắng: ").split())
if la_tam_giac(a, b, c):
print(f"{a}, {b}, {c} là ba cạnh của một tam giác")
else:
if a <= 0 or b <= 0 or c <= 0:
print("Các cạnh của tam giác phải lớn hơn 0!")
else:
print(f"{a}, {b}, {c} không phải là ba cạnh của một tam giác")
except ValueError:
print("Định dạng đầu vào không hợp lệ! Vui lòng nhập ba số cách nhau bởi khoảng trắng.")
Hàm la_tam_giac(a, b, c)
trả về True
nếu a, b, c là ba cạnh của một tam giác và False
nếu không. Điều này giúp code chính trở nên dễ đọc và dễ bảo trì hơn.
Kiểm tra điều kiện tam giác trong Python
Hình ảnh minh họa logo Kteam, nơi cung cấp kiến thức lập trình Python, liên quan đến việc kiểm tra điều kiện để ba số tạo thành một tam giác, thể hiện sự hữu ích của bài viết trong việc học tập và ứng dụng kiến thức.
Kết luận
Bài viết này đã cung cấp cho bạn một hướng dẫn chi tiết về cách viết chương trình Python để nhập vào 3 số a, b, c và kiểm tra xem chúng có phải là 3 cạnh của một tam giác hay không. Chúng ta đã thảo luận về các điều kiện cần thiết, cách xử lý dữ liệu đầu vào, cách xử lý ngoại lệ và cách tối ưu code. Hy vọng bài viết này hữu ích cho bạn trong quá trình học tập và làm việc với Python. Chúc bạn thành công!