Trắc nghiệm Tin học 10 Kết nối tri thức Bài 20: Câu lệnh lặp For - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Cho đoạn mã Python sau:
```python
for i in range(5):
print(i)
```
Đoạn mã này sẽ in ra màn hình kết quả nào?
- A. 1
2
3
4
5
- B. 0
1
2
3
4
- C. 1
3
5
- D. 0
2
4
Câu 2: Điều gì sẽ xảy ra nếu bạn sử dụng câu lệnh `break` bên trong vòng lặp `for`?
- A. Vòng lặp sẽ tiếp tục thực hiện đến hết tất cả các lần lặp.
- B. Chương trình sẽ báo lỗi và dừng lại.
- C. Vòng lặp sẽ dừng lại ngay lập tức và chương trình tiếp tục thực hiện các lệnh sau vòng lặp.
- D. Vòng lặp sẽ bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
Câu 3: Cho danh sách `numbers = [10, 20, 30, 40, 50]`. Đoạn mã nào sau đây sẽ tính tổng của tất cả các số trong danh sách?
- A. ```python
sum = 0
for num in numbers:
sum += num
```
- B. ```python
sum = 0
sum = sum + numbers
```
- C. ```python
sum = numbers.sum()
```
- D. ```python
sum = 0
for i in range(len(numbers)):
sum = numbers[i]
```
Câu 4: Hàm `range(start, stop, step)` trong Python có chức năng gì?
- A. Tính tổng các số trong một khoảng cho trước.
- B. Tìm giá trị lớn nhất và nhỏ nhất trong một khoảng số.
- C. Kiểm tra xem một số có nằm trong một khoảng số cho trước hay không.
- D. Tạo ra một dãy số nguyên trong một khoảng xác định, với bước nhảy tùy chọn.
Câu 5: Cho đoạn mã sau:
```python
for i in range(1, 10):
if i % 2 == 0:
print(i, end=
- A. 1 3 5 7 9
- B. 1 2 3 4 5 6 7 8 9
- C. 2 4 6 8
- D. 0 2 4 6 8
Câu 6: Hãy chọn phát biểu đúng về biến lặp trong vòng lặp `for` với `range()`.
- A. Biến lặp phải được khai báo trước khi sử dụng trong vòng lặp.
- B. Biến lặp tự động nhận giá trị từ dãy số được tạo bởi hàm `range()` sau mỗi lần lặp.
- C. Giá trị của biến lặp không thể thay đổi bên trong vòng lặp.
- D. Biến lặp chỉ có thể là số nguyên dương.
Câu 7: Đoạn mã sau in ra kết quả gì?
```python
for i in range(3):
for j in range(2):
print(
- A. ```
```
- B. ```
**
**
**
```
- C. ```
***
***
```
- D. ```
******
```
Câu 8: Để lặp qua các phần tử của một danh sách `fruits = ["apple", "banana", "cherry"]`, cú pháp vòng lặp `for` nào là đúng?
- A. ```python
for i in range(fruits):
print(fruits[i])
```
- B. ```python
for i in fruits:
print(i)
```
- C. ```python
for fruits[i] in i:
print(fruits[i])
```
- D. ```python
for fruit in fruits:
print(fruit)
```
Câu 9: Giả sử bạn muốn viết một chương trình in ra bảng cửu chương 5 (từ 5x1 đến 5x10). Vòng lặp `for` nào sau đây phù hợp nhất?
- A. ```python
for i in range(5):
print(f
- B. ```python
for i in range(1, 11):
print(f
- C. ```python
for i in range(1, 10):
print(f
- D. ```python
for i in range(10, 20):
print(f
Câu 10: Cho đoạn mã:
```python
count = 0
for char in
Câu 11: Lệnh `continue` trong vòng lặp `for` có tác dụng gì?
- A. Thoát hoàn toàn khỏi vòng lặp.
- B. Bỏ qua các lệnh còn lại trong lần lặp hiện tại và chuyển sang lần lặp kế tiếp.
- C. Thực hiện lại vòng lặp từ đầu.
- D. Dừng chương trình và báo lỗi.
Câu 12: Đoạn mã sau có thực hiện được vòng lặp nào không và vì sao?
```python
for i in range(5, 5):
print(i)
```
- A. Có, in ra số 5.
- B. Có, in ra các số từ 5 đến 4.
- C. Không, vì `range(5, 5)` tạo ra một dãy số rỗng.
- D. Chương trình báo lỗi vì phạm vi không hợp lệ.
Câu 13: Cho danh sách `letters = ["a", "b", "c", "d"]`. Đoạn mã nào sau đây sẽ in ra các chữ cái trong danh sách, mỗi chữ cái trên một dòng và kèm theo chỉ số của nó?
- A. ```python
for letter in letters:
print(letter)
```
- B. ```python
for index, letter in enumerate(letters):
print(index, letter)
```
- C. ```python
for i in range(len(letters)):
print(i, letters[i])
```
- D. Cả Answer 2 và Answer 3 đều đúng.
Câu 14: Để đếm số lượng số dương trong danh sách `numbers = [-2, 5, 0, 8, -3, 10]`, bạn sẽ sử dụng cấu trúc vòng lặp `for` và câu lệnh điều kiện như thế nào?
- A. ```python
count = 0
for num in numbers:
if num > 0:
count += 1
```
- B. ```python
count = 0
for num in numbers:
if num >= 0:
count += 1
```
- C. ```python
count = 0
if num > 0:
for num in numbers:
count += 1
```
- D. ```python
count = 0
for i in range(len(numbers)):
count += 1
```
Câu 15: Đoạn mã sau tính tổng các số chẵn từ 2 đến 10. Hãy chọn cách viết khác cho vòng lặp `for` sử dụng `range()` để đạt cùng kết quả:
```python
sum_even = 0
for i in [2, 4, 6, 8, 10]:
sum_even += i
```
- A. ```python
sum_even = 0
for i in range(2, 11):
sum_even += i
```
- B. ```python
sum_even = 0
for i in range(2, 10, 2):
sum_even += i
```
- C. ```python
sum_even = 0
for i in range(1, 11, 2):
sum_even += i
```
- D. ```python
sum_even = 0
for i in range(2, 12, 2):
sum_even += i
```
Câu 16: Mục đích chính của việc sử dụng vòng lặp `for` trong lập trình là gì?
- A. Để thực hiện các phép tính toán phức tạp.
- B. Để định nghĩa các hàm và thủ tục trong chương trình.
- C. Để lặp lại một khối lệnh nhiều lần, thường khi biết trước số lần lặp hoặc khi duyệt qua một tập hợp dữ liệu.
- D. Để xử lý lỗi và ngoại lệ trong chương trình.
Câu 17: Cho đoạn mã:
```python
text =
- A. Python
- B. nohtyP
- C. Pyhton
- D. nothyp
Câu 18: Trong vòng lặp `for i in range(a, b, c)`, tham số `c` quy định điều gì?
- A. Giá trị cuối cùng của biến lặp.
- B. Giá trị ban đầu của biến lặp.
- C. Bước nhảy (mức tăng hoặc giảm) của biến lặp sau mỗi lần lặp.
- D. Số lần lặp tối đa của vòng lặp.
Câu 19: Hãy xác định số lần lặp của vòng lặp `for` trong đoạn mã sau:
```python
for i in range(0, 10, 2):
print(i)
```
Câu 20: Cho hai danh sách `list1 = [1, 2, 3]` và `list2 = ["a", "b", "c"]`. Đoạn mã nào sau đây sẽ tạo ra một danh sách mới chứa các cặp phần tử tương ứng từ `list1` và `list2` (ví dụ: `[(1, "a"), (2, "b"), (3, "c")]`)?
- A. ```python
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
```
- B. ```python
result = []
for item1 in list1:
for item2 in list2:
result.append((item1, item2))
```
- C. ```python
result = []
for item1, item2 in zip(list1, list2):
result.append((item1, item2))
```
- D. ```python
result = []
result = list1 + list2
```
Câu 21: Điều gì xảy ra khi bạn cố gắng thay đổi giá trị của biến lặp trực tiếp bên trong vòng lặp `for` khi lặp qua `range()`?
- A. Vòng lặp sẽ bị dừng lại và báo lỗi.
- B. Giá trị của biến lặp sẽ bị ghi đè trong lần lặp hiện tại, nhưng ở lần lặp tiếp theo nó vẫn sẽ nhận giá trị tiếp theo từ `range()`.
- C. Sự thay đổi sẽ ảnh hưởng đến các lần lặp tiếp theo và số lần lặp có thể thay đổi.
- D. Không có gì xảy ra, chương trình vẫn chạy bình thường nhưng giá trị biến lặp không thay đổi.
Câu 22: Cho đoạn mã:
```python
n = 5
factorial = 1
for i in range(1, n + 1):
factorial *= i
print(factorial)
```
Đoạn mã này tính giá trị nào?
- A. Tổng các số từ 1 đến 5.
- B. 5 mũ 5.
- C. 5 nhân 5.
- D. Giai thừa của 5 (5!).
Câu 23: Để in ra các số lẻ từ 1 đến 9 theo thứ tự giảm dần, bạn sẽ sử dụng `range()` như thế nào trong vòng lặp `for`?
- A. ```python
for i in range(1, 10, 2):
print(i)
```
- B. ```python
for i in range(9, 0, -2):
print(i)
```
- C. ```python
for i in range(9, 1, 2):
print(i)
```
- D. ```python
for i in range(10, 0, -2):
print(i)
```
Câu 24: Trong Python, vòng lặp `for` có thể được sử dụng để duyệt qua kiểu dữ liệu nào sau đây?
- A. Chỉ danh sách (list).
- B. Chỉ chuỗi (string) và số nguyên.
- C. Chỉ danh sách (list) và tuple.
- D. Danh sách (list), chuỗi (string), tuple, dictionary (khóa), và range.
Câu 25: Cho đoạn mã:
```python
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num, end=
- A. 1 2 3 4 5
- B. 3
- C. 1 2 4 5
- D. Không in ra gì.
Câu 26: Hãy sắp xếp các bước thực hiện của vòng lặp `for` khi sử dụng `range()` theo đúng thứ tự:
A. Kiểm tra điều kiện lặp (biến lặp có vượt quá giới hạn `stop` của `range()` chưa?).
B. Thực hiện khối lệnh bên trong vòng lặp.
C. Khởi tạo biến lặp với giá trị `start` từ `range()`.
D. Tăng/giảm giá trị biến lặp theo bước `step` (nếu có).
- A. C - B - D - A
- B. C - A - B - D
- C. A - B - C - D
- D. D - C - B - A
Câu 27: Cho đoạn mã:
```python
sum_val = 0
for i in range(10):
if i % 3 == 0:
sum_val += i
elif i % 5 == 0:
sum_val += i
print(sum_val)
```
Giá trị của `sum_val` sau khi chạy đoạn mã là bao nhiêu?
Câu 28: Để lặp qua các khóa và giá trị của một dictionary `student = {"name": "Alice", "age": 16, "class": "10A"}`, bạn sử dụng phương thức nào của dictionary kết hợp với vòng lặp `for`?
- A. `items()`
- B. `keys()`
- C. `values()`
- D. `elements()`
Câu 29: Đoạn mã sau có lỗi không? Nếu có, lỗi ở đâu?
```python
for i in range(5)
print(i)
```
- A. Không có lỗi.
- B. Lỗi ở dòng `print(i)` vì thụt lề sai.
- C. Lỗi ở dòng `for i in range(5)` vì thiếu dấu hai chấm `:` ở cuối.
- D. Lỗi vì `range(5)` không phải là một hàm hợp lệ.
Câu 30: Ứng dụng nào sau đây KHÔNG phải là một trường hợp sử dụng phù hợp của vòng lặp `for`?
- A. Tính tổng các phần tử trong một danh sách số.
- B. In ra bảng cửu chương.
- C. Duyệt qua từng ký tự của một chuỗi để đếm số nguyên âm.
- D. Lặp lại việc hỏi người dùng có muốn tiếp tục chương trình không cho đến khi họ nhập "không".