Nhập môn lập trình Python University

Python: Tập tin, hàm, module và các thư viện

70 questions
70 min
Answer key

Exam info

Subject
Nhập môn lập trình Python
Exam type
University
Questions
70
Duration
70 min
Answers
✓ With explanations

Questions (70)

  1. Q 1.

    Theo nội dung, đặc điểm nào phù hợp nhất với một tập tin văn bản trong Python?

    • A.

      Nội dung được tổ chức thành các dòng, có thể chứa ký tự xuống dòng và dòng trống.

    • B.

      Chỉ được Python xem là một dãy byte và luôn được xử lý theo từng khối.

    • C.

      Chỉ dùng để lưu danh sách thư mục của hệ điều hành.

    • D.

      Không được chứa dòng trống và không có ký tự phân tách dòng.

  2. Q 2.

    Ký tự phân tách dòng mặc định trong tập tin văn bản Python là ký tự nào?

    • A.

      \n

    • B.

      \r

    • C.

      ;

    • D.

      |

  3. Q 3.

    Trình tự đúng của ba bước làm việc với tập tin là gì?

    • A.

      Mở tập tin, làm việc với tập tin, đóng tập tin.

    • B.

      Đóng tập tin, làm việc với tập tin, mở tập tin.

    • C.

      Làm việc với tập tin, mở tập tin, đóng tập tin.

    • D.

      Mở tập tin, đóng tập tin, làm việc với tập tin.

  4. Q 4.

    Vì sao thao tác mở tập tin có thể tốn nhiều thời gian và phát sinh lỗi?

    • A.

      Hệ thống phải kiểm tra sự tồn tại, quyền truy cập, tình trạng khóa và khả năng đọc hoặc ghi của tập tin.

    • B.

      Hệ thống phải chuyển toàn bộ tập tin thành danh sách đối tượng trước khi mở.

    • C.

      Hệ thống luôn phải chạy một chương trình trình duyệt để đọc tập tin.

    • D.

      Mọi tập tin đều phải được nén trước khi có thể mở.

  5. Q 5.

    Khi dùng chế độ 'r' để mở một tập tin, điều nào sau đây là đúng?

    • A.

      Tập tin được mở chỉ để đọc; nếu tập tin không tồn tại thì lệnh mở sẽ phát sinh lỗi.

    • B.

      Tập tin được mở để ghi và bị xóa nếu đã tồn tại.

    • C.

      Tập tin được mở để đọc và ghi, đồng thời tạo mới nếu chưa tồn tại.

    • D.

      Mọi nội dung mới sẽ được ghi vào cuối tập tin mà không xóa dữ liệu cũ.

  6. Q 6.

    Điều gì xảy ra khi mở một tập tin đã tồn tại bằng chế độ 'w'?

    • A.

      Nội dung cũ bị cắt bỏ và tập tin được mở để ghi văn bản.

    • B.

      Nội dung cũ được giữ nguyên và dữ liệu mới được ghi vào cuối.

    • C.

      Tập tin chỉ có thể đọc và không thể ghi.

    • D.

      Lệnh luôn báo lỗi vì chế độ 'w' không được phép mở tập tin đã tồn tại.

  7. Q 7.

    Chế độ nào mở tập tin văn bản để ghi tiếp vào cuối, tạo tập tin mới nếu tập tin chưa tồn tại?

    • A.

      'a'

    • B.

      'w'

    • C.

      'r'

    • D.

      'x'

  8. Q 8.

    Chế độ 'x' khác chế độ 'w' như thế nào?

    • A.

      'x' tạo tập tin mới và báo lỗi nếu đường dẫn đã tồn tại, trong khi 'w' mở và cắt bỏ nội dung tập tin cũ.

    • B.

      'x' cho phép ghi vào cuối tập tin, còn 'w' chỉ cho phép đọc.

    • C.

      Hai chế độ hoàn toàn giống nhau.

    • D.

      'x' chỉ đọc còn 'w' chỉ ghi nhị phân.

  9. Q 9.

    Chế độ nào mở tập tin văn bản để vừa đọc vừa ghi và tạo mới nếu tập tin chưa tồn tại?

    • A.

      'w+'

    • B.

      'r'

    • C.

      'a'

    • D.

      'x'

  10. Q 10.

    Chế độ nào mở tập tin nhị phân để vừa đọc vừa ghi?

    • A.

      'rb+'

    • B.

      'rb'

    • C.

      'wb'

    • D.

      'ab'

  11. Q 11.

    Khi truyền buffering bằng 0 cho hàm open, ý nghĩa theo nội dung là gì?

    • A.

      Không thực hiện trình đệm.

    • B.

      Thực hiện trình đệm dòng khi truy cập.

    • C.

      Tự động chọn kích thước bộ đệm mặc định.

    • D.

      Dùng bộ đệm có kích thước 1 byte.

  12. Q 12.

    Mệnh đề nào mô tả đúng về các thuộc tính của đối tượng tập tin?

    • A.

      File.closed cho biết tập tin đã đóng hay chưa, File.mode cho biết chế độ truy cập và File.name cho biết tên tập tin.

    • B.

      File.mode luôn trả về kích thước tập tin và File.name trả về nội dung tập tin.

    • C.

      File.closed chỉ có thể được gán trực tiếp trước khi tập tin được mở.

    • D.

      Không có thuộc tính nào cho biết tập tin đã đóng hay chưa.

  13. Q 13.

    Lợi ích chính của việc dùng khối lệnh 'with' khi làm việc với tập tin là gì?

    • A.

      Tập tin được đóng tự động khi rời khối lệnh, kể cả khi xảy ra lỗi.

    • B.

      Mọi dòng trong tập tin được chuyển thành số nguyên.

    • C.

      Tập tin luôn được mở ở chế độ nhị phân.

    • D.

      Tập tin tự động được nén khi đóng.

  14. Q 14.

    Những công việc quan trọng nào diễn ra khi đóng tập tin?

    • A.

      Đẩy dữ liệu trong vùng đệm xuống thiết bị lưu trữ, cập nhật thông tin tập tin và giải phóng tài nguyên.

    • B.

      Chuyển tất cả dòng thành số thập phân và in ra màn hình.

    • C.

      Xóa vùng đệm mà không ghi nội dung xuống thiết bị lưu trữ.

    • D.

      Tạo một tập tin mới có cùng tên để sao lưu.

  15. Q 15.

    Hàm nào trả về một danh sách các chuỗi dòng khi đọc tập tin?

    • A.

      readlines()

    • B.

      readline()

    • C.

      write()

    • D.

      close()

  16. Q 16.

    Khi gọi write(data), ràng buộc về kiểu dữ liệu của data là gì?

    • A.

      Với tập tin văn bản, data phải là str; với tập tin nhị phân, data phải là bytes hoặc bytearray.

    • B.

      Mọi trường hợp đều chỉ có thể ghi số nguyên.

    • C.

      Chỉ có thể ghi danh sách và không thể ghi một chuỗi đơn.

    • D.

      Không có ràng buộc nào đối với dữ liệu ghi.

  17. Q 17.

    Cặp lệnh nào dùng để xóa một tập tin và kiểm tra sự tồn tại của tập tin trong Python?

    • A.

      os.remove() và os.path.exists()

    • B.

      os.rmdir() và os.rename()

    • C.

      open() và close()

    • D.

      json.load() và json.dump()

  18. Q 18.

    Với tài liệu XML được đọc bằng xml.dom.minidom, cách lấy các phần tử có tên 'employee' là gì?

    • A.

      Gọi getElementsByTagName('employee') trên đối tượng tài liệu hoặc phần tử cha.

    • B.

      Gọi json.dumps() trên tệp XML.

    • C.

      Dùng open(..., mode='r') để lấy tất cả thẻ employee.

    • D.

      Dùng os.remove() với tên thẻ làm tham số.

  19. Q 19.

    Khi gọi json.dumps(pythonObject), kết quả thuộc loại nào?

    • A.

      Một chuỗi biểu diễn dữ liệu JSON.

    • B.

      Một từ điển Python còn nguyên kiểu dữ liệu.

    • C.

      Một đối tượng tập tin đã được ghi ngay xuống đĩa.

    • D.

      Một mảng byte luôn ở định dạng UTF-8.

  20. Q 20.

    Điều gì xảy ra với một biến cục bộ được khai báo trong hàm ngoài khi hàm lồng nhau cần truy cập biến đó?

    • A.

      Hàm lồng nhau không thể truy cập trực tiếp biến cục bộ đó nếu không dùng nonlocal khi cần gán lại.

    • B.

      Biến luôn được Python chuyển thành biến toàn cục.

    • C.

      Biến sẽ bị xóa khỏi bộ nhớ trước khi hàm lồng nhau chạy.

    • D.

      Mọi hàm lồng nhau đều có thể gán trực tiếp biến cục bộ của hàm ngoài.

  21. Q 21.

    Từ khóa nonlocal trong Python được dùng để làm gì?

    • A.

      Tham chiếu và gán giá trị mới cho một biến thuộc phạm vi hàm cha của hàm lồng nhau.

    • B.

      Khai báo một biến không thuộc phạm vi nào.

    • C.

      Buộc một tham số trở thành tham số bắt buộc.

    • D.

      Ngăn hàm lồng nhau truy cập bất kỳ biến nào của hàm cha.

  22. Q 22.

    Đoạn hàm outer và inner dùng nonlocal x sẽ in ra kết quả nào?

    • A.

      inner x: nonlocal; outer x: nonlocal

    • B.

      inner x: nonlocal; outer x: local

    • C.

      inner x: local; outer x: local

    • D.

      Chương trình báo NameError vì không có biến x trong inner.

  23. Q 23.

    Trong định nghĩa hàm, tham số được gán giá trị ngay là gì?

    • A.

      Tham số mặc định.

    • B.

      Tham số tùy ý.

    • C.

      Tham số cục bộ.

    • D.

      Biến toàn cục.

  24. Q 24.

    Định nghĩa nào buộc x chỉ được truyền theo vị trí và y chỉ được truyền bằng từ khóa?

    • A.

      def f(x, /, *, y):

    • B.

      def f(*x, **y):

    • C.

      def f(x=1, y=2):

    • D.

      def f(x: int, y: str):

  25. Q 25.

    Mệnh đề nào mô tả đúng về *args và **kwargs?

    • A.

      *args thu thập các đối số vị trí thành tuple, còn **kwargs thu thập các tham số từ khóa thành dictionary.

    • B.

      *args thu thập tham số từ khóa thành dictionary, còn **kwargs tạo tuple vị trí.

    • C.

      Cả hai đều bắt buộc người gọi truyền đúng một tham số.

    • D.

      Cả hai đều chỉ dùng để khai báo giá trị mặc định.

  26. Q 26.

    Đặc điểm nào là đúng về biểu thức lambda?

    • A.

      Lambda là hàm ẩn danh, chỉ chứa một biểu thức và trả về kết quả của biểu thức đó.

    • B.

      Lambda bắt buộc phải có tên hàm để có thể gọi lại.

    • C.

      Lambda phải chứa nhiều lệnh if, for và return giống một hàm thông thường.

    • D.

      Lambda chỉ có thể dùng để định nghĩa hàm, không thể truyền như một đối số.

  27. Q 27.

    Nếu handle(f, x) được định nghĩa để trả về f(x), biểu thức handle(lambda x: x * x, 5) trả về gì?

    • A.

      25

    • B.

      10

    • C.

      None

    • D.

      TypeError

  28. Q 28.

    Điều kiện bắt buộc để một hàm đệ quy hoạt động an toàn là gì?

    • A.

      Phải có điều kiện dừng để hàm không tự gọi vô hạn.

    • B.

      Hàm đệ quy phải có ít nhất hai tham số.

    • C.

      Hàm đệ quy không được dùng từ một hàm khác.

    • D.

      Hàm đệ quy phải dùng biến toàn cục.

  29. Q 29.

    Với hàm factorial(n) có điều kiện dừng trả về 1 khi n bằng 0, lời gọi factorial(5) trả về gì?

    • A.

      120

    • B.

      25

    • C.

      24

    • D.

      0

  30. Q 30.

    Khi độ sâu đệ quy vượt giới hạn mặc định của trình thông dịch Python, lỗi nào thường xuất hiện?

    • A.

      RecursionError

    • B.

      IOError

    • C.

      KeyError

    • D.

      ZeroDivisionError

  31. Q 31.

    Từ khóa nào dùng để trả về một giá trị từ hàm Python?

    • A.

      return

    • B.

      exit

    • C.

      break

    • D.

      continue

  32. Q 32.

    Hai loại hàm chính được đề cập trong nội dung là gì?

    • A.

      Hàm dựng sẵn và hàm do người dùng định nghĩa.

    • B.

      Hàm cục bộ và hàm toàn cục.

    • C.

      Hàm tuần tự và hàm đệ quy.

    • D.

      Hàm có tham số và hàm không có tham số.

  33. Q 33.

    Những lợi thế nào của việc sử dụng hàm được nêu trong nội dung?

    • A.

      Tránh lặp lại mã nguồn, chia vấn đề phức tạp thành các phần đơn giản và làm mã dễ quản lý.

    • B.

      Chỉ làm cho chương trình chạy nhanh hơn trong mọi trường hợp.

    • C.

      Chỉ có tác dụng khi chương trình không có vòng lặp.

    • D.

      Không có lợi thế nào về khả năng tái sử dụng mã nguồn.

  34. Q 34.

    Dấu ba nháy kép ngay sau định nghĩa hàm thường dùng để làm gì?

    • A.

      Tạo docstring mô tả chức năng của hàm.

    • B.

      Tạo một khối mã không bao giờ được thực thi.

    • C.

      Bắt buộc hàm trả về ba giá trị.

    • D.

      Tạo một biến toàn cục có tên giống hàm.

  35. Q 35.

    Một module Python có thể chứa những thành phần nào?

    • A.

      Hàm, lớp, biến và các câu lệnh.

    • B.

      Chỉ có thể chứa các hàm không có tham số.

    • C.

      Chỉ có thể chứa dữ liệu văn bản.

    • D.

      Chỉ có thể chứa một hàm duy nhất.

  36. Q 36.

    Câu lệnh nào import module math với tên thay thế là m?

    • A.

      import math as m

    • B.

      from math import as m

    • C.

      import m from math

    • D.

      module math = m

  37. Q 37.

    Cách nào chỉ import thành phần pi và e từ module math?

    • A.

      from math import pi, e

    • B.

      from math import *

    • C.

      import math.pi

    • D.

      from math as m

  38. Q 38.

    Cặp mô tả nào sử dụng đúng các hàm thông dụng trong nội dung?

    • A.

      random.randrange(start, stop, step) tạo số nguyên ngẫu nhiên theo khoảng và bước; eval() đánh giá một biểu thức chuỗi.

    • B.

      random.randrange() luôn trả về số thực và eval() chỉ đóng tập tin.

    • C.

      eval() là hàm thoát chương trình và random.randrange() định dạng ngày tháng.

    • D.

      Cả random.randrange() và eval() đều chỉ nhận đối số kiểu chuỗi.

  39. Q 39.

    Mục đích chính của việc dùng Parallel và delayed trong joblib là gì?

    • A.

      Chạy nhiều tác vụ song song trên các lõi CPU khác nhau để tăng tốc xử lý.

    • B.

      Chuyển tập tin nhị phân thành tập tin văn bản.

    • C.

      Tạo giao diện đồ họa cho chương trình.

    • D.

      Thực hiện các phép toán đại số ký hiệu.

  40. Q 40.

    Trong Parallel(n_jobs=4), ý nghĩa của n_jobs bằng 4 là gì?

    • A.

      Sử dụng tối đa bốn worker để thực hiện các job song song.

    • B.

      Chỉ thực hiện đúng bốn tác vụ, bất kể tổng số tác vụ là bao nhiêu.

    • C.

      Chạy mỗi tác vụ trong bốn tiến trình riêng biệt.

    • D.

      Bộ nhớ đệm của mỗi worker có dung lượng bốn byte.

  41. Q 41.

    Cách nào lưu và nạp lại danh sách Python bằng joblib?

    • A.

      joblib.dump(data, 'data.joblib') rồi joblib.load('data.joblib').

    • B.

      json.dump(data, 'data.joblib') rồi json.load('data.joblib').

    • C.

      open('data.joblib', 'r') rồi data.read() để nạp lại.

    • D.

      os.load(data, 'data.joblib')

  42. Q 42.

    So với compress=0, tham số compress=3 trong joblib.dump() có ý nghĩa gì?

    • A.

      Yêu cầu nén dữ liệu ở mức 3; tệp thường có thể nhỏ hơn nhưng không bảo đảm trong mọi trường hợp.

    • B.

      Tạo ba bản sao của đối tượng.

    • C.

      Chỉ đọc ba phần tử đầu tiên của đối tượng.

    • D.

      Bắt buộc tệp kết quả luôn nhỏ hơn theo đúng một tỷ lệ.

  43. Q 43.

    Ứng dụng thực tế nào của joblib được nêu trong nội dung?

    • A.

      Lưu mô hình Machine Learning để tái sử dụng và caching kết quả tính toán phức tạp.

    • B.

      Thiết kế bảng tính Excel và điều khiển định dạng ô.

    • C.

      Vẽ biểu đồ ba chiều trực tiếp từ dữ liệu.

    • D.

      Giải phương trình đại số và tính vi tích phân.

  44. Q 44.

    Vai trò của delayed trong biểu thức Parallel(n_jobs=4)(delayed(math.sqrt)(i) for i in range(10)) là gì?

    • A.

      Đóng gói mỗi lời gọi hàm cùng đối số thành một job để Parallel thực thi.

    • B.

      Tự động lưu mô hình vào một tệp.

    • C.

      Chuyển mọi kết quả thành văn bản JSON.

    • D.

      Tạo một mảng NumPy từ phạm vi range.

  45. Q 45.

    SymPy được thiết kế chủ yếu để làm gì?

    • A.

      Thực hiện tính toán đại số máy tính trên biểu thức ký hiệu.

    • B.

      Quản lý cơ sở dữ liệu quan hệ.

    • C.

      Dựng giao diện đồ họa cửa sổ.

    • D.

      Gửi và nhận tập tin qua mạng.

  46. Q 46.

    Cách nào định nghĩa hai biến ký hiệu x và y trong SymPy?

    • A.

      x, y = symbols('x y')

    • B.

      x, y = list('x y')

    • C.

      x = int('x'); y = int('y')

    • D.

      import x from sympy; import y from sympy

  47. Q 47.

    Vì sao nên viết 2*x thay vì 2x trong biểu thức SymPy được nhập từ Python?

    • A.

      Dấu * làm phép nhân rõ ràng và tránh cú pháp 2x không hợp lệ trong Python thông thường.

    • B.

      Dấu * bắt buộc biến x thành số thực.

    • C.

      Dấu * làm biểu thức trở thành danh sách.

    • D.

      Biểu thức 2x luôn được Python hiểu là biến có tên 2x.

  48. Q 48.

    Nếu expr = 2x + 2y, lời gọi expr.subs(x, 2) có ý nghĩa gì?

    • A.

      Thay mọi xuất hiện của x trong biểu thức bằng giá trị 2.

    • B.

      Giải phương trình biểu thức bằng x.

    • C.

      Khai triển biểu thức thành tổng các đơn thức.

    • D.

      Tính đạo hàm của biểu thức theo x.

  49. Q 49.

    Sự khác biệt giữa expand() và factor() trong SymPy là gì?

    • A.

      expand() khai triển biểu thức, còn factor() phân tích biểu thức thành nhân tử.

    • B.

      expand() vẽ đồ thị, còn factor() giải phương trình.

    • C.

      Cả hai hàm đều chỉ đọc tệp XML.

    • D.

      expand() chỉ dùng cho số nguyên và factor() chỉ dùng cho số thực.

  50. Q 50.

    Mỗi hàm nào của SymPy phù hợp với nhiệm vụ tương ứng?

    • A.

      solve() giải phương trình, diff() tính đạo hàm và integrate() tính tích phân.

    • B.

      solve() vẽ đồ thị, diff() xóa tệp và integrate() tạo tệp.

    • C.

      solve() sinh dữ liệu ngẫu nhiên, diff() nén tệp và integrate() tạo lớp.

    • D.

      Cả ba hàm đều dùng để nhập một module.

  51. Q 51.

    Câu lệnh nào tạo một mảng NumPy có kiểu dữ liệu chuỗi?

    • A.

      np.array([1, 2, 3], dtype='S')

    • B.

      np.array([1, 2, 3], dtype=list)

    • C.

      np.array([1, 2, 3], string=True)

    • D.

      np.array([1, 2, 3], mode='text')

  52. Q 52.

    np.array([1, 2, 3, 4], ndmin=2) tạo mảng có hình dạng như thế nào?

    • A.

      (1, 4)

    • B.

      (4, 1)

    • C.

      (2, 2)

    • D.

      (4,)

  53. Q 53.

    Lệnh nào kiểm tra hình dạng của một mảng NumPy?

    • A.

      arr.shape

    • B.

      arr.size()

    • C.

      arr.ndim()

    • D.

      arr.length

  54. Q 54.

    Mảng 12 phần tử có thể được chuyển thành mảng 4 hàng và 3 cột bằng lệnh nào?

    • A.

      arr.reshape(4, 3)

    • B.

      arr.reshape(3, 5)

    • C.

      arr.view(4, 3)

    • D.

      arr.astype(4, 3)

  55. Q 55.

    Sự khác biệt giữa arr.copy() và arr.view() là gì?

    • A.

      copy() tạo dữ liệu độc lập, còn view() tạo một mảng dùng chung vùng nhớ với mảng gốc.

    • B.

      Cả hai đều tạo một bản sao hoàn toàn độc lập.

    • C.

      copy() chỉ dùng cho mảng một chiều, còn view() chỉ dùng cho mảng hai chiều.

    • D.

      copy() đổi kiểu dữ liệu, còn view() đổi hình dạng.

  56. Q 56.

    Với arr chứa các số 1.1, 2.1 và 3.1, lệnh nào chuyển kiểu dữ liệu sang số nguyên?

    • A.

      newarr = arr.astype('i')

    • B.

      newarr = arr.shape('i')

    • C.

      newarr = arr.copy('i')

    • D.

      newarr = arr.sort('i')

  57. Q 57.

    Với arr = np.array([10, 15, 20, 25, 30, 35, 40]), biểu thức arr[1:4] trả về dữ liệu nào?

    • A.

      [15, 20, 25]

    • B.

      [10, 15, 20]

    • C.

      [20, 25, 30]

    • D.

      [15, 20, 25, 30]

  58. Q 58.

    np.where(arr == 4) dùng để làm gì?

    • A.

      Tìm các chỉ số có giá trị thỏa điều kiện arr bằng 4.

    • B.

      Thay tất cả phần tử bằng giá trị 4.

    • C.

      Sắp xếp mảng theo giá trị 4.

    • D.

      Nối hai mảng có giá trị 4.

  59. Q 59.

    Câu lệnh nào nối arr1 và arr2 thành một mảng duy nhất?

    • A.

      arr = np.concatenate((arr1, arr2))

    • B.

      arr = np.reshape((arr1, arr2))

    • C.

      arr = np.where((arr1, arr2))

    • D.

      arr = np.sort(arr1, arr2)

  60. Q 60.

    Lệnh nào trả về một mảng đã sắp xếp từ arr?

    • A.

      x = np.sort(arr)

    • B.

      x = np.where(arr)

    • C.

      x = arr.view()

    • D.

      x = np.concatenate(arr)

  61. Q 61.

    Mối quan hệ giữa Figure, Axes và Axis trong Matplotlib là gì?

    • A.

      Figure chứa một hoặc nhiều Axes; mỗi Axes có các Axis như trục X và trục Y.

    • B.

      Axis chứa nhiều Figure và mỗi Figure là một Axis.

    • C.

      Figure, Axes và Axis đều là ba tên khác nhau cho cùng một đối tượng.

    • D.

      Axes chỉ có thể chứa đúng một Axis và không thể chứa biểu đồ.

  62. Q 62.

    Đặc điểm nào phù hợp với giao diện pyplot?

    • A.

      pyplot tự quản lý Figure và Axes hiện hành, nên có thể gọi trực tiếp plt.plot(x, y).

    • B.

      pyplot bắt buộc phải tạo Figure bằng fig = plt.figure() trước mọi lệnh vẽ.

    • C.

      pyplot chỉ dùng để đọc và ghi tệp văn bản.

    • D.

      pyplot không thể hiển thị biểu đồ.

  63. Q 63.

    Đoạn nào sử dụng đúng giao diện hướng đối tượng của Matplotlib?

    • A.

      fig = plt.figure(); ax = fig.add_axes([0, 0, 1, 1]); ax.plot(x, y)

    • B.

      np.array(x, y).plot()

    • C.

      import os; os.plot(x, y)

    • D.

      json.figure(x, y)

  64. Q 64.

    Lệnh fig, axes = plt.subplots(2, 2) tạo cấu trúc nào?

    • A.

      Một Figure và một mảng 2 hàng, 2 cột chứa bốn Axes.

    • B.

      Bốn Figure độc lập không có Axes chung.

    • C.

      Một Figure không có Axes nào.

    • D.

      Hai Figure và hai Axes độc lập.

  65. Q 65.

    Khi gọi plt.plot([0, 1, 2], [0, 1, 4]), Matplotlib sẽ thực hiện gì?

    • A.

      Vẽ một đường đi qua các cặp tọa độ tương ứng theo thứ tự.

    • B.

      Tạo bốn đường khác nhau.

    • C.

      Tạo một biểu đồ cột với ba cột.

    • D.

      Vẽ một đường tròn có bán kính 2.

  66. Q 66.

    Loại biểu đồ nào phù hợp nhất để so sánh tỷ lệ của nhiều mục trong một tổng thể?

    • A.

      Pie chart

    • B.

      Histogram

    • C.

      Scatter chart

    • D.

      Contour plot

  67. Q 67.

    Cặp mô tả nào về histogram và scatter chart là đúng?

    • A.

      Histogram thể hiện phân bố của dữ liệu số; scatter chart thể hiện mối quan hệ giữa hai biến số.

    • B.

      Histogram dùng để biểu diễn bề mặt ba chiều; scatter chart dùng để vẽ cột.

    • C.

      Cả hai biểu đồ đều chỉ dùng để hiển thị mô hình Machine Learning.

    • D.

      Cả hai biểu đồ đều yêu cầu ba trục X, Y và Z.

  68. Q 68.

    Mệnh đề nào mô tả đúng contour plot và biểu đồ ba chiều?

    • A.

      Contour plot biểu diễn mặt bề mặt ba chiều trên mặt phẳng hai chiều; đồ thị 3D được hỗ trợ bởi mplot3d.

    • B.

      Contour plot là biểu đồ cột ba chiều và mplot3d chỉ dùng để đọc ảnh.

    • C.

      Cả hai loại đều chỉ dùng để vẽ văn bản toán học.

    • D.

      Contour plot không sử dụng dữ liệu X, Y và Z.

  69. Q 69.

    Cặp mô tả nào về các hàm xử lý hình ảnh và Figure là đúng?

    • A.

      imread đọc ảnh thành mảng, imsave lưu mảng thành ảnh, imshow hiển thị ảnh; show, savefig và close quản lý Figure.

    • B.

      imread giải phương trình, imsave tích phân và imshow vẽ contour.

    • C.

      show lưu file, savefig đóng cửa sổ và close tạo Figure mới.

    • D.

      imsave chỉ hoạt động với mảng hai chiều chứa số nguyên.

  70. Q 70.

    Mệnh đề nào mô tả đúng cách thêm văn bản và biểu thức toán học trong Matplotlib?

    • A.

      Dùng ax.text() hoặc ax.annotate() để thêm văn bản; có thể đặt biểu thức toán học trong cặp ký hiệu .

    • B.

      Dùng os.path.exists() để thêm nhãn lên trục X.

    • C.

      Dùng json.dumps() để đặt tiêu đề biểu đồ.

    • D.

      Dùng readlines() để vẽ một đường tròn trên trục.

Answers and explanations are in mode.

Similar Nhập môn lập trình Python exams