

NGUYỄN THÀNH VINH
Giới thiệu về bản thân



































def UCLN(a, b): """ Tính ước chung lớn nhất của hai số a và b. """ if b == 0: return a else: return UCLN(b, a % b) # Ví dụ sử dụng: a = 48 b = 18 print(f"UCLN của {a} và {b} là: {UCLN(a, b)}")
while True: try: a = float(input("Nhập một số thực dương a: ")) if a > 0: square = a ** 2 print("Bình phương của", a, "là: {:.2f}".format(square)) 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("Số vừa nhập chưa phải số thực dương. Hãy nhập lại.") Explanation: Vòng lặp while True : Chương trình sẽ lặp lại cho đến khi người dùng nhập đúng một số thực dương. try...except ValueError : Khối lệnh này dùng để bắt lỗi khi người dùng nhập một giá trị không phải là số (ví dụ: chữ cái). Nếu có lỗi ValueError xảy ra, chương trình sẽ in ra thông báo yêu cầu nhập lại.
a = float(input("Nhập một số thực dương a: ")) : Dòng này yêu cầu người dùng nhập một số từ bàn phím và chuyển đổi nó thành kiểu số thực (float). if a > 0: : Kiểm tra xem số vừa nhập có phải là số thực dương hay không. Nếu a > 0 , chương trình sẽ tính bình phương của a bằng cách sử dụng toán tử ** . Kết quả được định dạng để hiển thị 2 chữ số sau dấu phẩy bằng cách sử dụng "{:.2f}".format(square) . Sau đó, chương trình in kết quả ra màn hình và thoát khỏi vòng lặp bằng lệnh break . else: : Nếu a không lớn hơn 0 (tức là không phải số thực dương), chương trình sẽ in ra thông báo yêu cầu nhập lại.
1.Mã lỗi: SyntaxError: expected an indented block after 'if' statement on line 3 2.Giải thích lý do gặp lỗi: Trong Python, sau câu lệnh if , bạn cần phải có một khối lệnh (block) được thụt vào (indented) để chỉ ra những gì cần thực hiện nếu điều kiện if là đúng. Ở đây, dòng print("x nhỏ hơn y") không được thụt vào, nên Python không biết nó thuộc về khối lệnh if hay không. 3.Cách khắc phục: Thụt dòng print("x nhỏ hơn y") vào một khoảng trắng (thường là 4 khoảng trắng hoặc một tab) so với dòng if x < y .