Câu 1
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?
Đáp án và lời giải
Đáp án: A
2/25 câu đang cập nhật đáp án (ghi rõ ở từng câu), chưa tính điểm; điểm tính trên 23 câu còn lại.
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?
Đáp án: A
Cho đoạn lệnh sau:
for i in range(1,10,2):
print(i)
Trên màn hình i có các giá trị là
Đáp án: A
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ố.
Đáp án: B
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)
Đáp án: D
Đáp án: A
Để khai báo một danh sách rỗng ta dùng cú pháp sau
Đáp án: C
Đáp án: C
Để xóa 2 phần tử ở vị trí 1 và 2 trong danh sách a hiện tại ta dùng lệnh nào?
Đáp án: D
Chương trình sau thực hiện công việc gì?
A=[]
for i in range(1, 1001):
if(i % 7 == 0) and (i % 5 !=0):
A.append(str(i))
print(','.join(A))
Đáp án: B
Đâu là kiểu dữ liệu danh sách?
Đáp án: A
Sau khi thực hiện lệnh sau, biến s sẽ có kết quả là
s1 ="3986443"
s2 = ""
for ch in s1:
if int(ch) % 2 == 0:
s2 = s2 + ch
print(s2)
Đáp án: B
Đáp án: A
Chương trình sau bị lỗi ở dòng thứ bao nhiêu ?
def tinh(a, b):
if(b != 0):
return a // b
s = tinh(1, m)
print(s)
Đáp án: C
Các tham số của f có kiểu dữ liệu gì nếu hàm f được gọi như sau:
f( ‘5.0’)
Đáp án: A
Đoạn chương trình sau sẽ in ra số nào?
>>> def f(x,y):
z = x + y
return x*y*z
>>> f(1,4)
Đáp án: C
Đâu là ưu điểm của chương trình con?
Đáp án: C
Giá trị của m là bao nhiêu sau biết kết quả là 5:
def tinhSum(a, b):
return a + b
s = tinhSum(1, m)
print(s)
Đáp án: B
Các khối lệnh trong cấu trúc tuần tự sẽ được thực hiện như thế nào?
Đáp án: D
Cho đoạn chương trình python sau:
Tong = 0
while Tong < 10:
Tong = Tong + 1
Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu:
Đáp án: B
Kết quả của chương trình sau là gì?
x = 8
y = 9
if x > y:
print('x lớn hơn y')
elif x==y:
print('x bằng y')
else:
print('x nhỏ hơn y')
Đáp án: C
Dựa vào đoạn mã dưới đây, hãy xác định xem các phát biểu sau là đúng hay sai:
![Dựa vào đoạn mã dưới đây, hãy xác định xem các phát biểu sau là đúng hay sai: a) Vòng lặp for trong đoạn mã sẽ chạy đúng bằng số phần tử trong danh sách A. b) Điều kiện A[i] > 0 trong đoạ (ảnh 1)](/media/img/6d/6df311b25ccef981e2d82b8a1aead4a3a7621a6056d27bb9425d4c6543948df1-708.webp)
Vòng lặp for trong đoạn mã sẽ chạy đúng bằng số phần tử trong danh sách A.
Điều kiện A[i] > 0 trong đoạn mã trên chỉ cho phép cộng những số dương vào biến S.
Giá trị của biến S sau khi thực hiện đoạn mã trên sẽ là tổng của tất cả các phần tử trong A.
Nếu danh sách A chứa ít nhất một giá trị dương, thì giá trị của S sẽ không bằng 0 sau khi đoạn mã được thực hiện.
Đáp án: a) Đúng; b) Đúng; c) Sai; d) Đúng
Cho xâu ký tự G = "Programming". Hãy xác định các câu sau đúng hay sai:
Ký tự đầu tiên trong xâu G là 'P', và có thể truy cập bằng G[0].
Lệnh G[5] = 'a' sẽ thay đổi ký tự thứ 5 trong xâu thành 'a'.
Xâu G có thể được coi như một danh sách các ký tự nhưng không thể thay đổi các ký tự đó.
Độ dài của xâu G là 11, có thể tính bằng lệnh len(G).
Đáp án: a) Đúng; b) Sai; c) Đúng; d) Đúng
Dựa vào kiến thức về biểu thức logic và các phép toán logic trong Python, hãy xác định các ý sau đây là đúng hay sai:
Biểu thức 10 > 5 and 8 < 12 sẽ cho kết quả là True.
Biểu thức 15 == 15 or 3 > 7 sẽ cho kết quả là False.
Biểu thức not (20 <= 10) sẽ cho kết quả là True.
Biểu thức 5 != 5 and 7 == 7 sẽ cho kết quả là True.
Đáp án: a) Đúng; b) Sai; c) Đúng; d) Sai
Em hãy nêu cú pháp về câu lệnh lặp với số lần chưa biết trước? Lấy ví dụ minh hoạ.
Lời giải của đề gốc để bạn tự đối chiếu; câu tự luận không tính điểm.
Cú pháp
while <điều kiện>:
<khối lệnh lặp>
Ví dụ
mat_khau = ""
while mat_khau != "1234":
mat_khau = input("Nhập mật khẩu: ")
print("Đăng nhập thành công!")
Cho chương trình sau:
n = 20
C = 0
for k in range(n):
if k%3 = 0: # Điều kiện k là bội của 3 là k%3 = 0
C = C + 1
print(C)
Em hãy xác định các lỗi của chương trình và sửa lại cho đúng để được chương trình đếm số lượng số chia hết cho 3 trong khoảng từ 1 đến n.
Lời giải của đề gốc để bạn tự đối chiếu; câu tự luận không tính điểm.
- Lỗi so sánh (k%3 = 0): Trong lập trình, dấu = là phép gán. Để so sánh bằng, ta phải dùng dấu ==.
- Lỗi thụt lề (Indentation): Các lệnh bên trong vòng lặp for và câu lệnh if phải được thụt lề vào trong.
- Lỗi logic phạm vi (range(n)): Đề bài yêu cầu tính trong khoảng từ 1 đến $n$. Hàm range(20) chỉ chạy từ 0 đến 19. Để bao gồm cả số 20, ta cần dùng range(1, n + 1).