NGUYỄN VIỆT HƯNG
Giới thiệu về bản thân
while b != 0: a, b = b, a % b return a # Nhập hai số tự nhiên từ bàn phím a = int(input("Nhập số tự nhiên a: ")) b = int(input("Nhập số tự nhiên b: ")) # Gọi hàm và in kết quả print("Ước chung lớn nhất của", a, "và", b, "là:", ucln(a, b)) Giải thích: Sử dụng thuật toán Euclid như đề bài yêu cầu. Hàm ucln(a, b) lặp đến khi b = 0, khi đó a là UCLN. Chương trình nhận đầu vào từ bàn phím và in ra kết quả.
while True: try: a = float(input("Nhập số thực dương a: ")) if a > 0: binh_phuong = round(a ** 2, 2) print("Bình phương của a là:", binh_phuong) break else: print("Số vừa nhập chưa phải số thực dương. Hãy nhập lại.") except ValueError: print("Dữ liệu nhập vào không hợp lệ. Hãy nhập lại.") Giải thích: Vòng lặp while True: dùng để nhập lại nếu người dùng nhập sai. Kiểm tra a > 0 để đảm bảo là số thực dương. Nếu đúng, tính bình phương bằng a ** 2 và dùng round(..., 2) để lấy 2 chữ số sau dấu phẩy. Nếu sai, in thông báo yêu cầu nhập lại.
Chương trình sau bị lỗi cú pháp (syntax error) ở dòng lệnh if: if x < y print("x nhỏ hơn y") Lỗi cụ thể: Thiếu dấu hai chấm (:) ở cuối dòng điều kiện if. Giải thích: Trong Python, câu lệnh điều kiện if bắt buộc phải có dấu : ở cuối dòng để xác định khối lệnh phía sau. Nếu thiếu dấu này, chương trình sẽ báo lỗi khi chạy. Cách khắc phục: Thêm dấu : vào cuối dòng if. Chương trình sửa đúng sẽ như sau: x = 10.5 y = 20.9 if x < y: print("x nhỏ hơn y")