Câu lệnh lặp For
Câu 1. Số công việc cần phải lặp với số lần xác định?
1) Đếm số học sinh của lớp.
2) Đếm số chia hết cho 5 trong đoạn từ 10 tới 100.
3) Đọc tên lần lượt từng học sinh của một lớp có 30 em.
4) Chạy 5 vòng sân bóng.
5) Tính tổng các số có 2 chữ số.
A. 3. B. 4. C. 5. D. 2.
Câu 2. Biến chạy trong vòng lặp for i in range(<giá trị cuối>) tăng lên mấy đơn vị sau mỗi lần lặp?
A. 1. B. 2. C. 0. D. Tất cả đều sai.
Câu 3. Cho các câu lệnh sau, hãy chỉ ra câu lệnh đúng:
A. x = 0 B. x = 0
for i in range(10): x = x + 1 for i in range(10): x:= x + 1
C. x = 0 D. x:= 0
for i in range(10) x = x + 1 for i in range(10): x = x + 1
Câu 4. Trong Python, câu lệnh nào dưới đây được viết đúng?
A. for i in range(10): prin(“A”). B. for i in range(10): print(“A”).
C. for i in range(10): print(A). D. for i in range(10) print(“A”).
Câu 5. Trong câu lệnh lặp:
j=0
for j in range(10):
j = j + 2
print(j)
Khi kết thúc câu lệnh trên, câu lệnh print(j) được thực hiện bao nhiêu lần?
A. 10 lần. B. 1 lần. C. 5 lần. D. Không thực hiện.
Câu 6. Trong câu lệnh lặp:
j = 0
for j in range(10):
print("A")
Khi kết thúc câu lệnh trên lệnh có bao nhiêu chữ “A” xuất hiện?
A. 10 lần. B. 1 lần. C. 5 lần. D. Không thực hiện.
Câu 7. Cho đoạn chương trình:
j = 0
for i in range(5):
j = j + i
print(j)
Sau khi thực hiện chương trình giá trị của biến j bằng bao nhiêu?
A. 10. B. 12. C. 15. D. 14.
Câu 8. Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100?
A. 1. B. 100. C. 99. D. Tất cả đều sai.
Câu 9. Đoạn chương trình sau giải bài toán nào?
t = 0
for i in range(1, 101):
if(i % 3 == 0 and i % 5 == 0):
t = t + i
print(t)
A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100.
B. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 101.
C. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 101.
D. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100.
Câu 10. Cho biết kết quả khi chạy đoạn chương trình sau:
s = 0
for i in range(3):
s = s+2*i
print(s)
A. 12. B. 10. C. 8. D. 6.
Câu 11. Bạn An thực hiện đoạn chương trình sau nhưng chương trình báo lỗi. Theo em, bạn An sai ở dòng thứ mấy:
1) numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
2) sum == 0
3) ## iterate over the list
for val in numbers:
4) sum = sum+val
5) print("The sum is", sum)
A. 4. B. 3. C. 2. D. 5.
Câu 12. Đoạn chương trình sau có lỗi tại một dòng lệnh. Theo em, đó là lỗi ở câu lệnh nào:
# program to display student's marks from record
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
if student == student_name:
print(marks(student))
break
else:
print('No entry with that name found.')
A. Sai kí hiệu chú thích. B. Sai khi khai báo danh sách.
C. Sai khi gọi tới phần tử của danh sách. D. Không có lỗi sai ở câu lệnh nào.
Câu 13. Trong Python, đoạn chương trình sau đưa ra kết quả gì?
for i in range(10, 0, -1):
print(i, ‘’)
A. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1. B. Đưa ra 10 dấu cách.
C. 1 2 3 4 5 6 7 8 9 10. D. Không đưa ra kết quả gì.
Câu 14. Lệnh nào in ra màn hình các giá trị sau?
11111
22222
33333
44444
55555
A. for i in range(1, 6): print(i, i, i, i, i). B. for i in range(1, 6): print(str(i)*5).
C. for i in range(1, 5): print(str(i)*5). D. for i in range(0, 5): print(str(i)*5).
Câu 15. Điền phần còn thiếu … trong đoạn code sau để được kết quả dưới đây?
55555
44444
33333
22222
11111
for i in range(5, 0, …):
print(str(i)*5)
A. -1. B. 0. C. None. D. 1.
Câu 1: B
Giải thích: Các công việc cần lặp là: đếm số chia hết cho 5 (2), đọc tên học sinh (3), chạy vòng (4), tính tổng các số có 2 chữ số (5).
Câu 2: A
Giải thích: Biến chạy trong vòng lặp for i in range(<giá trị cuối>) tăng lên 1 đơn vị sau mỗi lần lặp.
Câu 3: C
Giải thích: Câu lệnh x = 0 là khai báo biến, và vòng lặp for i in range(10): x = x + 1 là hợp lệ trong Python.
Câu 4: B
Giải thích: Đây là cách sử dụng câu lệnh for đúng để in ra “A” 10 lần.
Câu 5: C
Giải thích: Trong vòng lặp, giá trị j sẽ được thay đổi và lệnh print(j) thực hiện sau khi vòng lặp kết thúc, nhưng vì vòng lặp có 5 lần thay đổi, kết quả in ra là 5 lần.
Câu 6: A
Giải thích: Lệnh print("A") trong vòng lặp sẽ được thực hiện 10 lần, vì range(10) tạo 10 vòng lặp.
Câu 7: A
Giải thích: Giá trị của j sau khi thực hiện vòng lặp với các giá trị của i sẽ là tổng 0 + 1 + 2 + 3 + 4 = 10.
Câu 8: B
Giải thích: Để tính tổng các số nguyên từ 1 đến 100, vòng lặp sẽ chạy 100 lần.
Câu 9: D
Giải thích: Đoạn mã tìm các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100 và tính tổng chúng.
Câu 10: C
Giải thích: Vòng lặp for i in range(3) chạy 3 lần, và s được cập nhật là: s + 2*0, s + 2*1, s + 2*2.
Câu 11: C
Giải thích: Lỗi xảy ra ở dòng 2 vì bạn An sử dụng == thay vì = để gán giá trị cho sum.
Câu 12: C
Giải thích: Lỗi xảy ra ở câu lệnh print(marks(student)). Đúng phải là marks[student] để truy cập giá trị từ dictionary.
Câu 13: A
Giải thích: Vòng lặp range(10, 0, -1) sẽ giảm từ 10 đến 1.
Câu 14: B
Giải thích: Câu lệnh này sẽ in ra các số từ 1 đến 5, mỗi số được lặp lại 5 lần.
Câu 15: A
Giải thích: Để in ra các số từ 5 đến 1 giảm dần, ta sử dụng range(5, 0, -1).
Câu 1: C. 5.
Câu 2: A. 1.
Câu 3: C. x = 0; for i in range(10): x = x + 1.
Câu 4: B. for i in range(10): print(“A”).
Câu 5: B. 1 lần.
Câu 6: A. 10 lần.
Câu 7: C. 15.
Câu 8: B. 100.
Câu 9: D. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100.
Câu 10: D. 6.
Câu 11: C. 2.
Câu 12: C. Sai khi gọi tới phần tử của danh sách.
Câu 13: A. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.
Câu 14: B. for i in range(1, 6): print(str(i)*5).
Câu 15: A. -1.