Nhập môn Lập trình Python 2026 Khoa Công nghệ Thông tin University

Ôn luyện lý thuyết và thực hành

50 questions
60 min
Answer key

Exam info

Subject
Nhập môn Lập trình Python
Exam type
University
Questions
50
Duration
60 min
Year
2026
Answers
✓ With explanations

Questions (50)

  1. Q 1.

    Tên biến nào sau đây là hợp lệ theo chuẩn cú pháp của ngôn ngữ Python?

    • A.

      2026_data

    • B.

      _total_score

    • C.

      class

    • D.

      user-name

  2. Q 2.

    Kiểu dữ liệu nào dưới đây thuộc nhóm bất biến (immutable) trong Python?

    • A.

      list

    • B.

      dict

    • C.

      tuple

    • D.

      set

  3. Q 3.

    Trong Python, toán tử nào được sử dụng để thực hiện phép chia lấy phần nguyên?

    • A.

      /

    • B.

      %

    • C.

      //

    • D.

      **

  4. Q 4.

    Đặc điểm nào sau đây mô tả đúng nhất về cấu trúc dữ liệu set trong Python?

    • A.

      Có thứ tự, các phần tử có thể trùng lặp, truy cập qua chỉ số.

    • B.

      Không có thứ tự, các phần tử là duy nhất, không thể chứa phần tử trùng lặp.

    • C.

      Có thứ tự, lưu trữ dữ liệu dưới dạng cặp key: value.

    • D.

      Bất biến, không thể thêm hoặc xoá phần tử sau khi khởi tạo.

  5. Q 5.

    Từ khoá nào được sử dụng để định nghĩa một hàm ẩn danh (không cần đặt tên) trong Python?

    • A.

      def

    • B.

      func

    • C.

      anonymous

    • D.

      lambda

  6. Q 6.

    Trong định nghĩa hàm, các tham số có giá trị mặc định (default parameters) phải được đặt ở vị trí nào?

    • A.

      Đặt ở bất kỳ vị trí nào tuỳ ý.

    • B.

      Đặt trước tất cả các tham số không có giá trị mặc định.

    • C.

      Đặt sau tất cả các tham số không có giá trị mặc định.

    • D.

      Bắt buộc phải đặt ở vị trí đầu tiên của danh sách tham số.

  7. Q 7.

    Khối lệnh nào trong cấu trúc try...except...finally sẽ luôn luôn được thực thi dù có ngoại lệ xảy ra hay không?

    • A.

      Khối try

    • B.

      Khối except

    • C.

      Khối else

    • D.

      Khối finally

  8. Q 8.

    Phương thức nào sau đây của kiểu chuỗi (str) trả về một danh sách các từ được tách bởi khoảng trắng mặc định?

    • A.

      strip()

    • B.

      split()

    • C.

      partition()

    • D.

      replace()

  9. Q 9.

    Mục đích cốt lõi của thư viện NumPy trong hệ sinh thái Python là gì?

    • A.

      Thiết kế giao diện đồ hoạ cho ứng dụng máy tính.

    • B.

      Cung cấp đối tượng mảng đa chiều hiệu năng cao và các hàm toán học xử lý mảng.

    • C.

      Quản lý cơ sở dữ liệu quan hệ và lập trình mạng.

    • D.

      Phát triển các dịch vụ web và API RESTful.

  10. Q 10.

    Thư viện Matplotlib (đặc biệt là module pyplot) chủ yếu được sử dụng để làm gì?

    • A.

      Xây dựng các mô hình học sâu phức tạp.

    • B.

      Trực quan hoá dữ liệu dưới dạng các đồ thị, biểu đồ 2D.

    • C.

      Xử lý âm thanh và nén video đa phương tiện.

    • D.

      Giải toán đại số ký hiệu và tính đạo hàm hình thức.

  11. Q 11.

    Thư viện SciPy được xây dựng dựa trên NumPy chủ yếu nhằm mục đích cung cấp công cụ cho:

    • A.

      Lập trình giao diện người dùng bằng Tkinter.

    • B.

      Các thuật toán tính toán khoa học chuyên sâu như tích phân, tối ưu hoá, biến đổi Fourier, đại số tuyến tính.

    • C.

      Thu thập dữ liệu web tự động và phân tích HTML.

    • D.

      Lập trình trò chơi điện tử hai chiều.

  12. Q 12.

    Trong lĩnh vực Khoa học dữ liệu và Học máy với Python, thư viện Joblib thường được ứng dụng phổ biến nhất để:

    • A.

      Trực quan hoá dữ liệu thời gian thực.

    • B.

      Tuần tự hoá, lưu trữ/tải các đối tượng Python lớn (như mô hình Scikit-Learn) và xử lý song song đơn giản.

    • C.

      Quản lý bộ nhớ đệm của trình duyệt web.

    • D.

      Tạo tài liệu báo cáo tự động sang định dạng PDF.

  13. Q 13.

    Thư viện SymPy trong Python có vai trò chính là gì?

    • A.

      Tính toán số học ma trận cực lớn trên GPU.

    • B.

      Tính toán toán học ký hiệu (Symbolic Mathematics) như giải phương trình đại số, rút gọn biểu thức, tích phân giải tích.

    • C.

      Xử lý ngôn ngữ tự nhiên và dịch máy tự động.

    • D.

      Thu thập và làm sạch dữ liệu từ tệp Excel.

  14. Q 14.

    Cú pháp nào sau đây giúp mở tệp văn bản đảm bảo tệp luôn được đóng tự động và giải phóng tài nguyên an toàn?

    • A.

      file = open("data.txt", "r")

    • B.

      with open("data.txt", "r") as file:

    • C.

      open file as "data.txt":

    • D.

      file.open("data.txt", mode="safe")

  15. Q 15.

    Trong lập trình hướng đối tượng (OOP) của Python, phương thức __init__ đóng vai trò là:

    • A.

      Phương thức huỷ đối tượng khi hết vòng đời.

    • B.

      Phương thức khởi tạo (constructor) được tự động gọi khi tạo mới một đối tượng của lớp.

    • C.

      Phương thức tĩnh (static method) không cần truyền đối số.

    • D.

      Phương thức kiểm tra kiểu dữ liệu của lớp con.

  16. Q 16.

    Cho đoạn mã sau:

    s = "Python2027"
    print(s[1:7:2])

    Kết quả in ra màn hình là gì?

    • A.

      yhn

    • B.

      yhn2

    • C.

      Pto

    • D.

      yho

  17. Q 17.

    Cho đoạn mã sau:

    a = [1, 2, 3]
    b = a
    b.append(4)
    print(len(a))

    Kết quả in ra màn hình là gì?

    • A.

      3

    • B.

      4

    • C.

      5

    • D.

      Báo lỗi AttributeError

  18. Q 18.

    Cho đoạn mã sau:

    res = [x * 2 for x in range(6) if x % 2 != 0]
    print(res)

    Kết quả in ra màn hình là gì?

    • A.

      [2, 6, 10]

    • B.

      [0, 4, 8]

    • C.

      [1, 3, 5]

    • D.

      [2, 4, 6]

  19. Q 19.

    Cho đoạn mã sau:

    for i in range(1, 5):
    if i == 3:
    break
    else:
    print("Done")
    print(i)

    Kết quả in ra màn hình là gì?

    • A.

      Dòng 1: Done, Dòng 2: 3

    • B.

      3

    • C.

      Dòng 1: Done, Dòng 2: 4

    • D.

      4

  20. Q 20.

    Cho đoạn mã sau:

    x = 10
    while x > 3:
    x -= 3
    print(x)

    Kết quả in ra màn hình là gì?

    • A.

      1

    • B.

      3

    • C.

      0

    • D.

      4

  21. Q 21.

    Cho đoạn mã sau:

    info = {"name": "An", "score": 85}
    val = info.get("age", 20)
    print(val)

    Kết quả in ra màn hình là gì?

    • A.

      None

    • B.

      20

    • C.

      Gây ra lỗi KeyError

    • D.

      85

  22. Q 22.

    Cho đoạn mã sau:

    a, b = 3, 5
    a, b = b, a + b
    print(a, b)

    Kết quả in ra màn hình là gì?

    • A.

      5 8

    • B.

      5 10

    • C.

      3 8

    • D.

      8 5

  23. Q 23.

    Cho hàm sau:

    def calc(n):
    if n <= 1:
    return 1
    return n * calc(n - 1)
    print(calc(4))

    Kết quả in ra màn hình là gì?

    • A.

      10

    • B.

      16

    • C.

      24

    • D.

      120

  24. Q 24.

    Cho đoạn mã sau:

    def my_func(*args):
    return sum(args)
    print(my_func(10, 20, 30))

    Kết quả in ra màn hình là gì?

    • A.

      60

    • B.

      [10, 20, 30]

    • C.

      (10, 20, 30)

    • D.

      Báo lỗi TypeError

  25. Q 25.

    Cho đoạn mã sau:

    val = 5
    def update_val():
    global val
    val += 10
    update_val()
    print(val)

    Kết quả in ra màn hình là gì?

    • A.

      5

    • B.

      10

    • C.

      15

    • D.

      Báo lỗi UnboundLocalError

  26. Q 26.

    Cho đoạn mã sau:

    words = ["Python", "de", "hoc"]
    msg = "-".join(words)
    print(msg)

    Kết quả in ra màn hình là gì?

    • A.

      Python de hoc-

    • B.

      Python-de-hoc

    • C.

      ['Python', 'de', 'hoc']

    • D.

      -Python-de-hoc-

  27. Q 27.

    Cho đoạn mã sau:

    nums = [1, 2, 3]
    try:
    print(nums[3])
    except IndexError:
    print("Loi chi so")
    except Exception:
    print("Loi khac")

    Kết quả in ra màn hình là gì?

    • A.

      3

    • B.

      Loi chi so

    • C.

      Loi khac

    • D.

      Chương trình bị dừng đột ngột và báo lỗi

  28. Q 28.

    Giả sử tệp sample.txt có nội dung gồm 3 dòng:

    Dong 1
    Dong 2
    Dong 3

    Quan sát đoạn mã sau:

    with open("sample.txt", "r") as f:
    line = f.readline()
    print(len(line.strip()))

    Kết quả in ra màn hình là gì?

    • A.

      6

    • B.

      18

    • C.

      1

    • D.

      3

  29. Q 29.

    Để mở một tệp văn bản và ghi tiếp nội dung vào cuối tệp mà không xoá nội dung cũ, lập trình viên cần sử dụng chế độ (mode) nào trong hàm open()?

    • A.

      'r+'

    • B.

      'w'

    • C.

      'a'

    • D.

      'x'

  30. Q 30.

    Cho đoạn mã thao tác với thư viện NumPy:

    import numpy as np
    arr = np.array([1, 2, 3, 4, 5, 6])
    matrix = arr.reshape(2, 3)
    print(matrix.shape)

    Kết quả in ra màn hình là gì?

    • A.

      (6,)

    • B.

      (2, 3)

    • C.

      (3, 2)

    • D.

      [2, 3]

  31. Q 31.

    Cho đoạn mã sau:

    import numpy as np
    arr = np.array([[1, 2], [3, 4]])
    res = arr + 10
    print(res[0, 1])

    Kết quả in ra màn hình là gì?

    • A.

      11

    • B.

      12

    • C.

      13

    • D.

      14

  32. Q 32.

    Cho đoạn mã lọc dữ liệu mảng NumPy:

    import numpy as np
    a = np.array([10, 15, 20, 25, 30])
    mask = a > 20
    print(a[mask])

    Kết quả in ra màn hình là gì?

    • A.

      [20, 25, 30]

    • B.

      [25, 30]

    • C.

      [True, True]

    • D.

      25

  33. Q 33.

    Cho hai mảng NumPy sau:

    import numpy as np
    A = np.array([[1, 2], [3, 4]])
    B = np.array([[2, 0], [1, 2]])
    C = A @ B
    print(C[1, 0])

    Kết quả in ra màn hình là gì?

    • A.

      6

    • B.

      10

    • C.

      8

    • D.

      4

  34. Q 34.

    Cho đoạn mã sử dụng thư viện Pandas:

    import pandas as pd
    data = {"Name": ["Nam", "Lan", "Huy"], "Age": [19, 21, 20]}
    df = pd.DataFrame(data)
    print(df.iloc[1]["Name"])

    Kết quả in ra màn hình là gì?

    • A.

      Nam

    • B.

      Lan

    • C.

      Huy

    • D.

      Age

  35. Q 35.

    Cho DataFrame df như sau:

    import pandas as pd
    df = pd.DataFrame({"Score": [4.5, 7.0, 8.5, 9.0, 3.0]})
    filtered_df = df[df["Score"] >= 7.0]
    print(len(filtered_df))

    Kết quả in ra màn hình là gì?

    • A.

      2

    • B.

      3

    • C.

      4

    • D.

      5

  36. Q 36.

    Để vẽ biểu đồ dạng phân tán (scatter plot) thể hiện mối tương quan giữa hai biến liên tục và bằng thư viện matplotlib.pyplot, hàm nào sau đây được sử dụng?

    • A.

      plt.plot(x, y)

    • B.

      plt.bar(x, y)

    • C.

      plt.scatter(x, y)

    • D.

      plt.hist(x)

  37. Q 37.

    Cho đoạn mã thiết lập biểu đồ:

    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3], [4, 5, 6])

    ... LỆNH CẦN ĐIỀN ...

    Để đặt tiêu đề phía trên cho toàn bộ biểu đồ, lệnh cần điền là gì?

    • A.

      plt.xlabel("Bieu do")

    • B.

      plt.set_name("Bieu do")

    • C.

      plt.title("Bieu do")

    • D.

      plt.header("Bieu do")

  38. Q 38.

    Cho đoạn mã sử dụng scipy.optimize:

    from scipy.optimize import minimize
    def f(x):
    return (x - 3)**2 + 5
    res = minimize(f, x0=0)
    print(round(res.x[0]))

    Kết quả in ra màn hình là gì?

    • A.

      0

    • B.

      3

    • C.

      5

    • D.

      9

  39. Q 39.

    Cho đoạn mã sử dụng thư viện SymPy:

    import sympy as sp
    x = sp.Symbol('x')
    expr = x**2 - 9
    solutions = sp.solve(expr, x)
    print(solutions)

    Kết quả in ra màn hình là gì?

    • A.

      [3]

    • B.

      [-3, 3]

    • C.

      [9]

    • D.

      (-3, 3)

  40. Q 40.

    Để lưu trữ một mô hình đã huấn luyện có tên model vào tệp nhị phân model.pkl bằng thư viện joblib, lệnh nào sau đây là đúng?

    • A.

      joblib.save(model, "model.pkl")

    • B.

      joblib.dump(model, "model.pkl")

    • C.

      joblib.write("model.pkl", model)

    • D.

      joblib.export(model, file="model.pkl")

  41. Q 41.

    Cần điền mã vào vị trí ... để hàm sau trả về số chẵn lớn nhất trong một danh sách các số nguyên dương:

    def max_even(lst):
    evens = [x for x in lst if x % 2 == 0]
    if not evens:
    return None
    return ...

    Đoạn mã cần điền vào ... là gì?

    • A.

      max(evens)

    • B.

      min(evens)

    • C.

      evens[-1]

    • D.

      len(evens)

  42. Q 42.

    Cho chuỗi text = "python". Đoạn mã nào sau đây tạo ra chuỗi đảo ngược "nohtyp" ngắn gọn nhất?

    • A.

      text.reverse()

    • B.

      text[::-1]

    • C.

      text[-1:0]

    • D.

      reversed(text)

  43. Q 43.

    Đoạn mã nào sau đây gây ra lỗi cú pháp SyntaxError khi thông dịch?

    • A.
      if x == 5
      print(x)
      
    • B.
      x = 5 / 0
      
    • C.
      lst = [1, 2]
      print(lst[5])
      
    • D.
      d = {"a": 1}
      print(d["b"])
      
  44. Q 44.

    Dòng lệnh nào sau đây gây ra lỗi TypeError trong thời gian chạy?

    • A.

      int("123")

    • B.

      "Tuoi: " + str(20)

    • C.

      "Diem: " + 10

    • D.

      float(5)

  45. Q 45.

    Cho đoạn mã sau:

    d = {"id": 101, "role": "admin"}
    print(d["status"])

    Chương trình sẽ dừng lại và ném ra ngoại lệ nào?

    • A.

      ValueError

    • B.

      IndexError

    • C.

      KeyError

    • D.

      NameError

  46. Q 46.

    Cho đoạn mã định nghĩa lớp kế thừa sau:

    class Person:
    def init(self, name):
    self.name = name
    class Student(Person):
    def init(self, name, major):
    super().init(name)
    self.major = major
    st = Student("Hai", "AI")
    print(st.name, st.major)

    Kết quả in ra màn hình là gì?

    • A.

      Hai AI

    • B.

      Person AI

    • C.

      Student Hai

    • D.

      Báo lỗi AttributeError

  47. Q 47.

    Cho đoạn mã thao tác tập hợp:

    A = {1, 2, 3, 4}
    B = {3, 4, 5, 6}
    C = A & B
    print(len(C))

    Kết quả in ra màn hình là gì?

    • A.

      2

    • B.

      4

    • C.

      6

    • D.

      0

  48. Q 48.

    Cho đoạn mã sau:

    names = ["An", "Binh", "Chi"]
    for idx, name in enumerate(names, start=1):
    if idx == 2:
    print(name)

    Kết quả in ra màn hình là gì?

    • A.

      An

    • B.

      Binh

    • C.

      Chi

    • D.

      2

  49. Q 49.

    Cho đoạn mã sau:

    nums = [1, 2, 3, 4]
    res = list(map(lambda x: x + 5, nums))
    print(res[1])

    Kết quả in ra màn hình là gì?

    • A.

      6

    • B.

      7

    • C.

      8

    • D.

      9

  50. Q 50.

    Cho đoạn mã cài đặt hàm tìm kiếm:

    def search(arr, target):
    left = 0
    right = len(arr) - 1
    while left <= right:
    mid = (left + right) // 2
    if arr[mid] == target:
    return mid
    elif arr[mid] < target:
    left = mid + 1
    else:
    right = mid - 1
    return -1
    data = [11, 22, 33, 44, 55, 66]
    print(search(data, 44))

    Kết quả in ra màn hình là gì?

    • A.

      2

    • B.

      3

    • C.

      4

    • D.

      -1

Answers and explanations are in mode.