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

Python: Kiểu dữ liệu, toán tử, điều kiện, ngoại lệ và vòng lặp

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
Answers
✓ With explanations

Questions (50)

  1. Q 1.

    Với đoạn lệnh t = (1, 2, 3); t[1] = 9, kết quả chính xác là gì?

    • A.

      Python báo lỗi TypeError vì tuple không hỗ trợ gán giá trị theo chỉ mục.

    • B.

      Biến t trở thành (9, 2, 3).

    • C.

      Python tự động chuyển t thành list rồi gán giá trị.

    • D.

      Chỉ phần tử cuối cùng của tuple bị thay đổi.

  2. Q 2.

    Đặc điểm nào sau đây đúng về các phần tử có thể lưu trong một tuple?

    • A.

      Tuple chỉ được chứa các số nguyên.

    • B.

      Các phần tử trong một tuple có thể thuộc nhiều kiểu dữ liệu khác nhau.

    • C.

      Mỗi tuple chỉ được chứa đúng một giá trị.

    • D.

      Tuple không thể chứa giá trị None.

  3. Q 3.

    Theo cú pháp Python chuẩn, biểu thức nào tạo ra một tuple rỗng?

    • A.

      ()

    • B.

      {}

    • C.

      []

    • D.

      (1,)

  4. Q 4.

    Biểu thức nào tạo ra một tuple chỉ chứa đúng giá trị 50?

    • A.

      ()

    • B.

      (50)

    • C.

      (50,)

    • D.

      {50,}

  5. Q 5.

    Sau khi chạy đoạn t = (1, 2); t += (3,), giá trị của t là gì?

    • A.

      (1, 2, 3)

    • B.

      (1, 2, 3, 3)

    • C.

      (1, 2) + (3)

    • D.

      (1, 2)

  6. Q 6.

    Giá trị của biểu thức ('Go',) * 3 là gì?

    • A.

      'GoGoGo'

    • B.

      ('Go', 'Go', 'Go')

    • C.

      (['Go'], ['Go'], ['Go'])

    • D.

      Báo lỗi vì tuple không hỗ trợ toán tử *.

  7. Q 7.

    Với t = (1, 2, 3, 2), biểu thức t.count(2), t.index(2) trả về cặp giá trị nào?

    • A.

      (1, 1)

    • B.

      (2, 2)

    • C.

      (1, 2)

    • D.

      (2, 1)

  8. Q 8.

    Với t = (1, 2, 3, 4) và câu lệnh a, *rest = t, giá trị của a và rest là gì?

    • A.

      a = 1, rest = (2, 3, 4)

    • B.

      a = (1, 2), rest = (3, 4)

    • C.

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

    • D.

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

  9. Q 9.

    Sau đoạn lệnh sau, giá trị cuối cùng của t là gì?
    t = (1, 2, 3)
    lst = list(t)
    lst[0] = 9
    t = tuple(lst)

    • A.

      (1, 2, 3)

    • B.

      (9, 2, 3)

    • C.

      [9, 2, 3]

    • D.

      Chương trình báo lỗi vì không thể thay đổi list.

  10. Q 10.

    Sau khi chạy s = {1, 2, 2, 3}, tập s chứa những giá trị nào?

    • A.

      {1, 2, 3}

    • B.

      {1, 2, 2, 3}

    • C.

      [1, 2, 2, 3]

    • D.

      Chương trình báo lỗi vì set không cho phép khai báo phần tử trùng lặp.

  11. Q 11.

    Đối với một set, thao tác nào sau đây hợp lệ?

    • A.

      Gán phần tử thứ hai bằng s[1] = 10.

    • B.

      Thay đổi giá trị của phần tử đang tồn tại bằng s[0] = 5.

    • C.

      Thêm phần tử mới bằng s.add(4).

    • D.

      Sắp xếp các phần tử theo chỉ số bằng s.sort().

  12. Q 12.

    Kết quả của biểu thức 1 in {1, True} là gì?

    • A.

      False

    • B.

      Báo lỗi do set chứa kiểu dữ liệu không đồng nhất.

    • C.

      None

    • D.

      True

  13. Q 13.

    Kết quả của lst = [0.5] * 10 là gì?

    • A.

      Một list chỉ chứa phần tử 0.5.

    • B.

      Một list gồm mười phần tử, tất cả đều có giá trị 0.5.

    • C.

      Một list gồm mười phần tử, trong đó phần tử cuối cùng là 10.

    • D.

      Chương trình báo lỗi vì không thể nhân một list với số thực.

  14. Q 14.

    Với lst = [5, -3, 12], lệnh print(len(lst), -3 in lst) in ra gì?

    • A.

      3 True

    • B.

      2 False

    • C.

      3 -3

    • D.

      12 True

  15. Q 15.

    Với lst = [5, -3, 12], giá trị của lst[-1] là gì?

    • A.

      5

    • B.

      -3

    • C.

      12

    • D.

      Báo lỗi IndexError.

  16. Q 16.

    Với lst = [5, 7, 2, 9, 6, 3, 10, 17, 16], lst[2:5] có giá trị gì?

    • A.

      [7, 2, 9, 6]

    • B.

      [2, 9, 6]

    • C.

      [2, 9, 6, 3]

    • D.

      [5, 7, 2]

  17. Q 17.

    Với lst = [5, 7, 2, 9, 6, 3, 10, 17, 16], biểu thức lst[:-4:-1] tạo ra list nào?

    • A.

      [17, 10, 3, 6]

    • B.

      [16, 17, 10]

    • C.

      [3, 10, 17, 16]

    • D.

      [3, 10, 17]

  18. Q 18.

    Sau khi chạy a = [10, 20, 30, 40]; a[0] = 7, giá trị của a là gì?

    • A.

      [7, 20, 30, 40]

    • B.

      [10, 7, 30, 40]

    • C.

      [7, 20, 30]

    • D.

      [10, 20, 30, 40]

  19. Q 19.

    Sau khi chạy lst = [0, 1, 2, 3]; lst.clear(), giá trị của lst là gì?

    • A.

      [0]

    • B.

      None

    • C.

      []

    • D.

      Chương trình báo lỗi vì list không có phương thức clear().

  20. Q 20.

    Sau khi chạy lst = [0, 1, 2, 3]; del lst[1], giá trị của lst là gì?

    • A.

      [1, 2, 3]

    • B.

      [0, 2, 3]

    • C.

      [0, 1, 2, 3]

    • D.

      Danh sách rỗng [].

  21. Q 21.

    Sau lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.sort(), giá trị của lst là gì?

    • A.

      ['banana', 'Kiwi', 'mango', 'Orange', 'pineapple']

    • B.

      ['Orange', 'Kiwi', 'banana', 'mango', 'pineapple']

    • C.

      ['mango', 'pineapple', 'banana', 'Kiwi', 'Orange']

    • D.

      ['Kiwi', 'Orange', 'banana', 'mango', 'pineapple']

  22. Q 22.

    Sau lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.sort(key=str.lower), giá trị của lst là gì?

    • A.

      ['banana', 'Kiwi', 'mango', 'Orange', 'pineapple']

    • B.

      ['Kiwi', 'Orange', 'banana', 'mango', 'pineapple']

    • C.

      ['Orange', 'banana', 'Kiwi', 'mango', 'pineapple']

    • D.

      ['mango', 'banana', 'Kiwi', 'Orange', 'pineapple']

  23. Q 23.

    Sau lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.reverse(), giá trị của lst là gì?

    • A.

      ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']

    • B.

      ['banana', 'pineapple', 'mango', 'Kiwi', 'Orange']

    • C.

      ['banana', 'pineapple', 'Kiwi', 'mango', 'Orange']

    • D.

      []

  24. Q 24.

    Tiền tố nào biểu diễn một số nguyên ở hệ bát phân trong Python?

    • A.

      0b

    • B.

      0o

    • C.

      0x

    • D.

      0d

  25. Q 25.

    Với các phép gán liên tiếp x = 5, x = 'fit=hcmute', x = True, các kiểu dữ liệu của x theo thứ tự là gì?

    • A.

      str, int, bool

    • B.

      int, int, int

    • C.

      int, str, str

    • D.

      int, str, bool

  26. Q 26.

    Kết quả của hai biểu thức None == False và None == [] là gì?

    • A.

      False, False

    • B.

      True, False

    • C.

      False, True

    • D.

      Cả hai biểu thức đều gây lỗi.

  27. Q 27.

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

    • A.

      2nd_value

    • B.

      total-items

    • C.

      _value2

    • D.

      class

  28. Q 28.

    Phát biểu nào mô tả đúng cách viết ghi chú trong Python?

    • A.

      Dùng // để ghi chú một dòng và /* ... */ để ghi chú nhiều dòng.

    • B.

      Dùng # cho ghi chú một dòng và chuỗi tài liệu ba dấu nháy ngay sau định nghĩa hàm, lớp hoặc module.

    • C.

      Docstring phải được đặt trước tên hàm.

    • D.

      Mọi chuỗi ba dấu nháy đều tự động trở thành docstring.

  29. Q 29.

    Phát biểu nào phân biệt đúng biến và hằng trong Python?

    • A.

      Biến không thể gán lại, còn hằng luôn có thể thay đổi.

    • B.

      Mọi biến trong Python đều là hằng và không thể thay đổi.

    • C.

      Hằng bắt buộc phải được khai báo bằng từ khóa const.

    • D.

      Biến có thể gán lại, còn hằng được xem là giá trị không thay đổi và thường được đặt tên bằng chữ hoa.

  30. Q 30.

    Với z = complex(3, 2), biểu thức z.real, z.imag trả về gì?

    • A.

      (3.0, 2.0)

    • B.

      (2.0, 3.0)

    • C.

      ('3', '2')

    • D.

      Chỉ có z.real, vì số phức không có phần ảo.

  31. Q 31.

    Các biểu thức 9 / 2, 9 // 2 và 9 % 2 lần lượt trả về gì?

    • A.

      4, 4, 1

    • B.

      4.5, 1, 4

    • C.

      4.5, 4, 1

    • D.

      4.5, 4.5, 4.5

  32. Q 32.

    Giá trị của biểu thức 3 ** 2 + 1 là gì?

    • A.

      10

    • B.

      8

    • C.

      11

    • D.

      6

  33. Q 33.

    Sau x = 2; x **= 3, giá trị của x là gì?

    • A.

      5

    • B.

      8

    • C.

      6

    • D.

      9

  34. Q 34.

    Với x = 2024, biểu thức x % 4 == 0 and x % 100 != 0 có giá trị gì?

    • A.

      False

    • B.

      0

    • C.

      Báo lỗi cú pháp.

    • D.

      True

  35. Q 35.

    Với a = 12 và b = 15, cặp kết quả của a & b và a ^ b là gì?

    • A.

      (12, 3)

    • B.

      (14, 15)

    • C.

      (3, 12)

    • D.

      (0, 27)

  36. Q 36.

    Với b = [1, 5, 7, 6, 9], cặp kết quả của 4 in b và 4 not in b là gì?

    • A.

      (True, True)

    • B.

      (False, False)

    • C.

      (False, True)

    • D.

      (True, False)

  37. Q 37.

    Toán tử nào được dùng để kiểm tra hai đối tượng có cùng tham chiếu đối tượng hay không?

    • A.

      ==

    • B.

      is

    • C.

      =

    • D.

      =>

  38. Q 38.

    Giá trị của biểu thức 12 << 2 là gì?

    • A.

      3

    • B.

      24

    • C.

      14

    • D.

      48

  39. Q 39.

    Cho đoạn chương trình:
    diem = 8
    if diem >= 9:
    print('Giỏi')
    elif diem >= 7:
    print('Khá')
    else:
    print('Trung bình')
    Chương trình in kết quả nào?

    • A.

      Khá

    • B.

      Giỏi

    • C.

      Trung bình

    • D.

      Không in kết quả nào.

  40. Q 40.

    Với a = 5 và b = 7, biểu thức c = 3 if a != b else 2 gán giá trị nào cho c?

    • A.

      2

    • B.

      5

    • C.

      3

    • D.

      7

  41. Q 41.

    Sau decimal.getcontext().prec = 10, biểu thức decimal.Decimal(1) / decimal.Decimal(13) được hiển thị theo độ chính xác mới là gì?

    • A.

      0.0769230769

    • B.

      0.07692307692

    • C.

      0.076923

    • D.

      0

  42. Q 42.

    Đoạn mã try: x = 1 / 0; except ZeroDivisionError: print('Chia lỗi') in ra gì?

    • A.

      Chương trình dừng vì lỗi không được xử lý.

    • B.

      ZeroDivisionError

    • C.

      0.0

    • D.

      Chia lỗi

  43. Q 43.

    Trong đoạn xử lý nhiều ngoại lệ, nếu khối try phát sinh ZeroDivisionError và có cả khối except TypeError, khối nào sẽ xử lý lỗi?

    • A.

      Khối except ZeroDivisionError tương ứng với loại lỗi phát sinh.

    • B.

      Khối except TypeError vì nó được đặt trước.

    • C.

      Không có khối nào xử lý vì lỗi nằm ngoài danh sách.

    • D.

      Cả hai khối except cùng thực hiện.

  44. Q 44.

    Khi nào khối else đứng sau try và except trong Python được thực thi?

    • A.

      Luôn luôn, bất kể khối try có lỗi hay không.

    • B.

      Chỉ khi xảy ra một ngoại lệ.

    • C.

      Chỉ khi khối try hoàn thành mà không phát sinh ngoại lệ.

    • D.

      Chỉ khi khối except bắt được lỗi.

  45. Q 45.

    Phát biểu nào về finally và raise là chính xác?

    • A.

      finally chỉ chạy khi không có lỗi, còn raise chỉ dùng để in thông báo.

    • B.

      finally luôn được thực thi dù có ngoại lệ, còn raise cho phép chủ động ném ra một ngoại lệ.

    • C.

      finally và raise đều là toán tử gán giá trị.

    • D.

      raise chỉ được dùng trong vòng lặp, còn finally chỉ dùng trong hàm.

  46. Q 46.

    Vòng lặp for i in range(1, 10, 2): print(i, end=' ') in ra các số nào?

    • A.

      1 3 5 7 9

    • B.

      1 2 3 4 5 6 7 8 9

    • C.

      2 4 6 8 10

    • D.

      1 3 5 7

  47. Q 47.

    Đối với range(2, 11, 2), các giá trị được tạo ra theo thứ tự là gì?

    • A.

      1, 3, 5, 7, 9

    • B.

      2, 4, 6, 8, 10, 12

    • C.

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

    • D.

      2, 4, 6, 8, 10

  48. Q 48.

    Với job = ['teacher', 'singer', 'football player'], vòng lặp for i in range(len(job)): print(job[i]) in ra gì?

    • A.

      Các chỉ số 0, 1, 2.

    • B.

      teacher, singer, football player, theo thứ tự ban đầu.

    • C.

      football player, singer, teacher.

    • D.

      Không có dòng nào được in.

  49. Q 49.

    Trong các vòng lặp lồng nhau, khi lệnh break nằm trong vòng lặp bên trong và được thực thi, điều gì xảy ra?

    • A.

      Cả vòng lặp bên trong và bên ngoài đều kết thúc.

    • B.

      Chỉ vòng lặp bên ngoài kết thúc.

    • C.

      Chỉ vòng lặp bên trong kết thúc; vòng lặp bên ngoài tiếp tục với lần lặp tiếp theo.

    • D.

      Toàn bộ chương trình kết thúc ngay lập tức.

  50. Q 50.

    Với lst = [5, 7, 2], vòng lặp for i in range(len(lst) - 1, -1, -1): print(lst[i]) in ra gì?

    • A.

      2, 7, 5

    • B.

      5, 7, 2

    • C.

      7, 5, 2

    • D.

      Không có giá trị nào được in.

Answers and explanations are in mode.