Lập trình Python University

Bài kiểm tra trắc nghiệm môn Lập trình Python

50 questions
100 min
Answer key

Exam info

Subject
Lập trình Python
Exam type
University
Questions
50
Duration
100 min
Answers
✓ With explanations

Questions (50)

  1. Q 1.

    Trong phân tích bài toán, một đặc tả (specification) chủ yếu mô tả điều gì?

    • A.

      Mối quan hệ giữa các đầu vào hợp lệ và đầu ra tương ứng

    • B.

      Các bước xử lý được viết bằng một ngôn ngữ lập trình cụ thể

    • C.

      Cú pháp và quy tắc của ngôn ngữ Python

    • D.

      Quá trình tìm kiếm và khắc phục lỗi trong chương trình

  2. Q 2.

    Câu nào mô tả đúng nhất về thuật toán?

    • A.

      Là cách thể hiện quan hệ giữa đầu vào và đầu ra của một bài toán

    • B.

      Là tập hữu hạn các hướng dẫn rõ ràng và tuần tự để chuyển đầu vào thành đầu ra đúng

    • C.

      Là tập hợp các thông báo lỗi phát sinh khi chạy chương trình

    • D.

      Là danh sách các ngôn ngữ lập trình có thể dùng để giải bài toán

  3. Q 3.

    Đặc tính nào sau đây không thuộc các tính chất cần có của một thuật toán?

    • A.

      Có thể tiếp tục chạy vô hạn mà không kết thúc

    • B.

      Các bước được xác định rõ ràng

    • C.

      Cho kết quả đúng với mọi đầu vào hợp lệ

    • D.

      Có thể áp dụng cho mọi trường hợp thuộc phạm vi bài toán

  4. Q 4.

    Ưu điểm nổi bật của mã giả khi biểu diễn thuật toán là gì?

    • A.

      Không cần sử dụng bất kỳ cấu trúc điều khiển nào

    • B.

      Có thể được thực thi trực tiếp bởi máy tính

    • C.

      Gần với ngôn ngữ lập trình nhưng không phụ thuộc vào một ngôn ngữ cụ thể

    • D.

      Luôn ngắn gọn hơn mọi dạng biểu diễn thuật toán khác

  5. Q 5.

    Sau bước phân tích vấn đề, bước tiếp theo phù hợp trong quy trình xây dựng chương trình là gì?

    • A.

      Triển khai ngay chương trình lên máy chủ thật

    • B.

      Thiết kế thuật toán bằng lệnh liệt kê, sơ đồ khối hoặc mã giả

    • C.

      Xóa toàn bộ chú thích trong tài liệu yêu cầu

    • D.

      Chỉ sử dụng thư viện ngoài để viết chương trình

  6. Q 6.

    Mục đích chính của việc xác định điều kiện biên khi phân tích bài toán là gì?

    • A.

      Làm cho chương trình không cần kiểm thử

    • B.

      Giảm số biến có thể sử dụng trong chương trình

    • C.

      Đảm bảo chương trình không bao giờ phát sinh ngoại lệ

    • D.

      Giới hạn phạm vi đầu vào hợp lệ và giúp phát hiện lỗi logic sớm

  7. Q 7.

    Vì sao cần chạy thử chương trình với nhiều bộ dữ liệu khác nhau?

    • A.

      Để phát hiện và khắc phục cả lỗi cú pháp lẫn lỗi logic

    • B.

      Để chứng minh chương trình không cần mô tả thuật toán

    • C.

      Để tự động thay thế hoàn toàn việc lập trình

    • D.

      Để bảo đảm mọi chương trình đều không có lỗi

  8. Q 8.

    Mô tả nào phù hợp nhất về Python?

    • A.

      Ngôn ngữ cấp thấp, chỉ biểu diễn được các phép toán số

    • B.

      Ngôn ngữ biên dịch không cần trình thông dịch để thực thi

    • C.

      Ngôn ngữ bậc cao, thông dịch, hỗ trợ cả lập trình hướng thủ tục và hướng đối tượng

    • D.

      Ngôn ngữ không hỗ trợ module, package hoặc xử lý ngoại lệ

  9. Q 9.

    Tên biến nào sau đây hợp lệ theo quy tắc đặt tên biến trong Python?

    • A.

      2tong_hop

    • B.

      tong_hop_2024

    • C.

      tong-hop

    • D.

      class

  10. Q 10.

    Điều gì xảy ra khi chương trình có cả Tong và tong?

    • A.

      Python tự động đổi một tên thành chữ thường

    • B.

      Hai tên luôn được xem là một biến duy nhất

    • C.

      Chương trình chắc chắn báo lỗi cú pháp

    • D.

      Hai tên được xem là hai biến khác nhau vì Python phân biệt chữ hoa và chữ thường

  11. Q 11.

    Sau lệnh ten = input('Nhập tên: '), kiểu dữ liệu thông thường của ten là gì?

    • A.

      Chuỗi ký tự

    • B.

      Số nguyên

    • C.

      Số thực

    • D.

      Danh sách các từ đã nhập

  12. Q 12.

    Giá trị của biểu thức 17 // 5 trong Python là gì?

    • A.

      3.4

    • B.

      4

    • C.

      3

    • D.

      Chương trình báo lỗi cú pháp

  13. Q 13.

    Biểu thức 2 ** 3 có giá trị là gì?

    • A.

      6

    • B.

      8

    • C.

      5

    • D.

      9

  14. Q 14.

    Cho đoạn mã a = 10 và a += 5. Sau đó, a có giá trị bằng bao nhiêu?

    • A.

      5

    • B.

      10

    • C.

      50

    • D.

      15

  15. Q 15.

    Nếu đã import thư viện math, biểu thức math.sqrt(16) trả về giá trị nào?

    • A.

      4.0

    • B.

      256.0

    • C.

      8.0

    • D.

      16

  16. Q 16.

    Điều nào cần làm khi muốn thêm một chú thích giải thích mã nguồn trên cùng một dòng?

    • A.

      Đặt phần cần giải thích trong dấu nháy kép

    • B.

      Thêm ký tự ! trước nội dung

    • C.

      Đặt ký tự # trước nội dung cần chú thích

    • D.

      Ghi nội dung trong một hàm comment()

  17. Q 17.

    Khi điều kiện của lệnh if là sai, phần lệnh nằm trong khối if sẽ được xử lý như thế nào?

    • A.

      Được thực thi một lần dù điều kiện sai

    • B.

      Bị bỏ qua

    • C.

      Tự động chuyển thành khối else

    • D.

      Luôn làm chương trình dừng lại

  18. Q 18.

    Trong cấu trúc if ... elif ... else, điều gì xảy ra nếu nhiều điều kiện đều đúng?

    • A.

      Tất cả các nhánh đúng đều được thực thi

    • B.

      Không nhánh nào được thực thi

    • C.

      Chương trình luôn báo lỗi cú pháp

    • D.

      Chỉ nhánh có điều kiện đúng đầu tiên được thực thi

  19. Q 19.

    Giá trị của biểu thức not (3 > 5) là gì?

    • A.

      True

    • B.

      False

    • C.

      0

    • D.

      Không có giá trị

  20. Q 20.

    Cho x = 7 và y = 3. Biểu thức 'lon' if x > y else 'nho' trả về kết quả nào?

    • A.

      nho

    • B.

      Không có kết quả vì điều kiện phải là số

    • C.

      lon

    • D.

      True

  21. Q 21.

    Điều gì là điều kiện cần có để một đối tượng có thể được dùng trong vòng lặp for?

    • A.

      Đối tượng phải là một số nguyên

    • B.

      Đối tượng phải là iterable, tức là có thể cung cấp các phần tử theo thứ tự lặp

    • C.

      Đối tượng phản hồi giá trị True khi được truyền vào if

    • D.

      Đối tượng phải được tạo bằng lệnh input

  22. Q 22.

    Vòng lặp for x in range(2, 9, 2) sẽ duyệt qua các giá trị nào?

    • A.

      2, 4, 6, 8

    • B.

      2, 3, 4, 5, 6, 7, 8

    • C.

      0, 2, 4, 6, 8

    • D.

      2, 4, 6, 8, 9

  23. Q 23.

    Các giá trị được tạo ra bởi range(1, 6) là gì?

    • A.

      1, 2, 3, 4, 5, 6

    • B.

      0, 1, 2, 3, 4, 5

    • C.

      2, 3, 4, 5

    • D.

      1, 2, 3, 4, 5

  24. Q 24.

    Điều gì cần chú ý để một vòng lặp while không bị chạy vô hạn?

    • A.

      Không dùng biến nào trong điều kiện

    • B.

      Luôn đặt điều kiện là False

    • C.

      Bảo đảm điều kiện có thể thay đổi theo hướng làm vòng lặp kết thúc

    • D.

      Không được phép dùng lệnh break bên trong vòng lặp

  25. Q 25.

    Khi lệnh break được thực thi, chương trình sẽ làm gì?

    • A.

      Chỉ bỏ qua lần lặp hiện tại và tiếp tục lặp tiếp

    • B.

      Thoát khỏi vòng lặp đang chứa lệnh break

    • C.

      Xóa toàn bộ biến của vòng lặp

    • D.

      Chạy lại vòng lặp từ đầu

  26. Q 26.

    Khi nào khối else đi kèm một vòng lặp trong Python được thực thi?

    • A.

      Khi vòng lặp kết thúc mà không bị break thoát

    • B.

      Khi vòng lặp bị break thoát ra

    • C.

      Mỗi lần biến lặp thay đổi

    • D.

      Chỉ khi vòng lặp không có phần tử nào

  27. Q 27.

    Với s = 'Python', biểu thức s[-1] trả về ký tự nào?

    • A.

      P

    • B.

      y

    • C.

      Không có kết quả

    • D.

      n

  28. Q 28.

    Với s = '0123456789', biểu thức s[2:8:2] tạo chuỗi con nào?

    • A.

      234567

    • B.

      2468

    • C.

      013579

    • D.

      02468

  29. Q 29.

    Điều gì sẽ xảy ra nếu thực hiện s[1] = 'A' với một chuỗi đã tạo trong Python?

    • A.

      Ký tự tại vị trí đó được thay thế

    • B.

      Một bản sao mới của chuỗi được tạo tự động

    • C.

      Chương trình báo lỗi vì không thể gán cho một phần tử của chuỗi

    • D.

      Chỉ số -1 được sử dụng thay thế

  30. Q 30.

    Biểu thức nào trong các biểu thức sau trả về chuỗi PYTHON?

    • A.

      'Python'.upper()

    • B.

      'Python'.lower()

    • C.

      'Python'.isdigit()

    • D.

      'Python'.index('P')

  31. Q 31.

    Giá trị của biểu thức 'abc' * 2 là gì?

    • A.

      ab

    • B.

      abcabcabc

    • C.

      Không có giá trị vì không thể nhân hai chuỗi

    • D.

      abcabc

  32. Q 32.

    Giá trị của biểu thức 'bc' in 'abcd' là gì?

    • A.

      False

    • B.

      True

    • C.

      2

    • D.

      Không có giá trị

  33. Q 33.

    Cho ten = 'An'. Biểu thức f-string f'Xin chao {ten}' tạo ra chuỗi nào?

    • A.

      Xin chao {ten}

    • B.

      Xin chao

    • C.

      Xin chao An

    • D.

      Xin chao None

  34. Q 34.

    Đặc điểm nào mô tả đúng về danh sách trong Python?

    • A.

      Có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau, kể cả một danh sách con

    • B.

      Chỉ có thể chứa số nguyên

    • C.

      Không thể thay đổi sau khi được tạo

    • D.

      Chỉ được dùng để lưu các cặp khóa và giá trị

  35. Q 35.

    Lệnh L.append(7) thực hiện điều gì?

    • A.

      Chèn 7 vào đầu danh sách

    • B.

      Xóa phần tử cuối cùng

    • C.

      Tạo một danh sách mới chứa 7

    • D.

      Thêm 7 vào cuối danh sách

  36. Q 36.

    Với L = [10, 20, 30], sau lệnh L.insert(1, 15) danh sách có giá trị gì?

    • A.

      [10, 20, 15, 30]

    • B.

      [10, 15, 20, 30]

    • C.

      [15, 10, 20, 30]

    • D.

      [10, 20, 30, 15]

  37. Q 37.

    Cho L = [3, 5, 7]. Sau khi thực hiện x = L.pop(1), giá trị của x và L là gì?

    • A.

      x = 3, L = [5, 7]

    • B.

      x = 7, L = [3, 5]

    • C.

      x = 5, L = [3, 7]

    • D.

      x = 5, L = [3, 5, 7]

  38. Q 38.

    Cho L = [3, 1, 2]. Sau các lệnh L.sort() và print(L), kết quả là gì?

    • A.

      [1, 2, 3]

    • B.

      [3, 1, 2]

    • C.

      [2, 1, 3]

    • D.

      Chương trình báo lỗi vì sort không thay đổi danh sách

  39. Q 39.

    Cho L = [1, 2], T = L và sau đó T.append(3). Giá trị của L lúc này là gì?

    • A.

      [1, 2]

    • B.

      [3]

    • C.

      Không xác định vì T phải là hằng số

    • D.

      [1, 2, 3]

  40. Q 40.

    Sau lệnh a, *b = [1, 2, 3, 4], giá trị của a và b là gì?

    • A.

      a = 1, b = 2

    • B.

      a = 1, b = [2, 3, 4]

    • C.

      a = [1], b = [2, 3, 4]

    • D.

      a = 4, b = [1, 2, 3]

  41. Q 41.

    Điều gì mô tả đúng về từ điển trong Python?

    • A.

      Mỗi phần tử luôn là một danh sách các giá trị

    • B.

      Các phần tử được sắp xếp theo thứ tự số

    • C.

      Mỗi khóa duy nhất được liên kết với một giá trị

    • D.

      Không thể thay đổi hoặc bổ sung giá trị sau khi tạo

  42. Q 42.

    Cho d = {'CAM': 100, 'BUOI': 200}. Sau lệnh d['CAM'] = 400, nội dung của d là gì?

    • A.

      {'CAM': 400, 'BUOI': 200}

    • B.

      {'CAM': 100, 'BUOI': 200}

    • C.

      {'CAM': 400, 'BUOI': 200, 'CAM': 100}

    • D.

      {'BUOI': 200}

  43. Q 43.

    Đặc điểm nào là đặc thù của tuple trong Python?

    • A.

      Các phần tử của nó luôn được sắp xếp tăng dần

    • B.

      Mỗi phần tử có thể xuất hiện nhiều lần

    • C.

      Có thể dùng làm khóa của từ điển nếu các phần tử của nó có thể băm

    • D.

      Có thứ tự và các phần tử không thể bị thay thế sau khi tạo

  44. Q 44.

    Điều gì phân biệt tập hợp set với list trong Python?

    • A.

      Set không thể chứa phần tử

    • B.

      Set không lưu các phần tử trùng lặp và không bảo đảm một thứ tự cụ thể

    • C.

      Set bắt buộc phải chứa các khóa và giá trị

    • D.

      Set luôn được sắp xếp theo thứ tự tăng

  45. Q 45.

    Cho A = {1, 2, 3} và B = {3, 4, 5}. Kết quả của A & B là gì?

    • A.

      {3}

    • B.

      {1, 2, 3, 4, 5}

    • C.

      {1, 2, 4, 5}

    • D.

      {4, 5}

  46. Q 46.

    Hàm tinh_dien_tich do người dùng tự định nghĩa khác hàm dựng sẵn len như thế nào?

    • A.

      Cả hai đều phải được viết bằng từ khóa def

    • B.

      Hàm tự định nghĩa không thể nhận tham số

    • C.

      Hàm tự định nghĩa được người dùng viết bằng def, còn hàm dựng sẵn do Python cung cấp

    • D.

      Hàm dựng sẵn phải được nhập từ một module bên ngoài

  47. Q 47.

    Khi lệnh return được thực thi trong một hàm, điều gì xảy ra?

    • A.

      Hàm tiếp tục chạy các lệnh còn lại

    • B.

      Hàm trả về một giá trị và kết thúc

    • C.

      Chương trình bỏ qua tất cả hàm còn lại

    • D.

      Biến cục bộ của hàm đều được xóa khỏi bộ nhớ

  48. Q 48.

    Biểu thức list comprehension [x * x for x in range(5)] tạo ra danh sách nào?

    • A.

      [1, 4, 9, 16, 25]

    • B.

      [0, 1, 2, 3, 4]

    • C.

      [0, 2, 4, 6, 8]

    • D.

      [0, 1, 4, 9, 16]

  49. Q 49.

    Với L = [[1, 2], [3, 4]], biểu thức L[1][0] có giá trị là gì?

    • A.

      3

    • B.

      1

    • C.

      2

    • D.

      4

  50. Q 50.

    Với L = [[1, 2], [3, 4]], biểu thức [x for row in L for x in row] tạo ra kết quả nào?

    • A.

      [[1, 2], [3, 4]]

    • B.

      [1, 2, 3]

    • C.

      [1, 2, 3, 4]

    • D.

      [1, 4]

Answers and explanations are in mode.

Similar Lập trình Python exams