Dưới đây là các câu trả lời cho các câu hỏi của bạn:
**Câu 1:** Lệnh nào sau đây có thể gây lỗi nếu không dùng global?
**Đáp án:** C. x = x + 1
*Giải thích:* Trong Python, nếu bạn muốn thay đổi giá trị của một biến toàn cục bên trong hàm mà không dùng từ khóa `global`, chương trình sẽ báo lỗi vì Python sẽ xem `x` như là một biến cục bộ chưa được khởi tạo.
---
**Câu 2:** Hoàn thiện (...) trong phát biểu sau:
“Trong Python tất cả các biến khai báo bên trong hàm đều có tính không có hiệu lực ở bên ... hàm”.
**Đáp án:** A. cục bộ, ngoài.
*Giải thích:* Biến khai báo bên trong hàm chỉ có hiệu lực trong phạm vi hàm đó, không có tác dụng bên ngoài.
---
**Câu 3:** Hàm f được khai báo như sau f(a, b, c). Số lượng đối số truyền vào là:
**Đáp án:** A. 3.
*Giải thích:* Hàm f có 3 tham số, do đó cần 3 đối số để gọi hàm.
---
**Câu 4:** Khi dòng lệnh thụt vào không thẳng hàng chương trình đưa ra mã lỗi ngoại lệ nào?
**Đáp án:** D. IndentationError.
*Giải thích:* Lỗi này xảy ra khi các dòng lệnh không thụt vào đúng cách theo quy tắc của Python.
---
**Câu 5:** Nếu muốn biến bên ngoài vẫn có tác dụng bên trong hàm thì cần khai báo lại biến này bên trong hàm với từ khoá nào
**Đáp án:** A. global.
*Giải thích:* Từ khóa `global` cho phép biến toàn cục được sử dụng và thay đổi bên trong hàm.
---
**Câu 6:** Chọn phát biểu sai trong các phát biểu sau:
**Đáp án:** D. Chương trình chính có thể sử dụng biến cục bộ bên trong hàm.
*Giải thích:* Biến cục bộ chỉ có hiệu lực trong hàm nơi chúng được khai báo và không thể được truy cập từ bên ngoài hàm.
---
**Câu 7:** Điền vào (...) để tìm ra số lớn nhất trong 3 số nhập vào:
**Đáp án:** C. max < b, max < c.
*Giải thích:* Điều kiện này giúp kiểm tra nếu `max` nhỏ hơn `b` và `c` thì cập nhật `max`.
---
**Câu 8:** Điền vào “...” hoàn thành phát biểu sau: “Chương trình chạy không lỗi ngoại lệ nhưng kết quả đưa ra .... Đấy là lỗi ... bên trong chương trình."
**Đáp án:** A. đúng, lôgic.
*Giải thích:* Chương trình có thể chạy mà không có lỗi ngoại lệ nhưng kết quả có thể sai do lỗi logic.
---
**Câu 9:** Chọn phát biểu sai trong các phát biểu sau:
**Đáp án:** D. lệnh input() thực hiện yêu cầu nhập vào một biểu thức, số hay một xâu bất kì.
*Giải thích:* Lệnh `input()` thực hiện yêu cầu nhập vào một chuỗi, không phải một biểu thức hay số (nó luôn trả về chuỗi).
---
**Câu 10:** Cho biết kết quả của chương trình sau:
```python
def changeme(mylist):
mylist.append([1, 2, 3, 4])
mylist = [10, 20, 30]
changeme(mylist)
print(mylist)
```
**Đáp án:** B. [10, 20, 30, [1, 2, 3, 4]].
*Giải thích:* Khi gọi hàm `changeme`, danh sách `[1, 2, 3, 4]` sẽ được thêm vào danh sách `mylist`, do đó kết quả cuối cùng sẽ là `[10, 20, 30, [1, 2, 3, 4]]`.