List trong Python giống như mảng động [dynamic array] trong C++ hay Java. List có thể chứa các phần tử có kiểu dữ liệu bất kỳ như integer, float, String,…Hay nói đúng hơn là List có thể chứa bất kỳ object nào. Trong Python, chúng ta có thể dễ dàng thêm hoặc xóa các phần tử trong một List.
List trong Python được tạo bằng cách sử dụng dấu ngoặc vuông [] [square bracket]. Ví dụ:
# Creating a blank List List = [] print["Blank List: "] print[List] # Creating a List of numbers List = [10, 20, 14] print["List of numbers: "] print[List] # Creating a List of strings List = ["John", "Marry", "Kane"] print[List] # Creating a Multi-Dimensional List # [By Nesting a list inside a List] List = [['John', 'Marry'], ['Kane']] print["Multi-Dimensional List: "] print[List] # Creating a List with mixed data types List = [1, "Hello", 3.4] print["List with mixed data types: "] print[List] Kết quảBlank List: [] List of numbers: [10, 20, 14] ['John', 'Marry', 'Kane'] Multi-Dimensional List: [['John', 'Marry'], ['Kane']] List with mixed data types: [1, 'Hello', 3.4]List trong Python có thể gồm các phần tử giống nhau
List = [1, 1, 4, 4, 3, 3, 3, 6, 5] print["List with the use of Numbers: "] print[List] List = [1, 2, 'Gochocit', 4, 'Hello', 6, 'Gochocit'] print["List with the use of Mixed Values: "] print[List] Kết quảList with the use of Numbers: [1, 1, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Gochocit', 4, 'Hello', 6, 'Gochocit']Python hỗ trợ hàm len[] để giúp lấy ra số phần tử [kích thước] của một danh sách.
num_List = [1, 1, 4, 4, 3, 3, 3, 6, 5] print["Size of num_List: "] print[len[num_List]] mixed_List = [1, 2, 'Gochocit', 4, 'Hello', 6, 'Gochocit'] print["Size of mixed_List: "] print[len[mixed_List]] Kết quảSize of num_List: 9 Size of mixed_List: 7Các phần tử trong List được đánh chỉ mục [index] theo thứ tự. Index là một số nguyên và bắt đầu bằng 0. Nếu List có 5 phần tử thì index sẽ từ 0 đến 4. Dựa vào chỉ mục [index], chúng ta có thể truy cập từng phần tử trong List.
my_list = ['g', 'o', 'c', 'h', 'o', 'c', 'i', 't'] # first item print[my_list[0]] # g # third item print[my_list[2]] # c # fifth item print[my_list[4]] # o # Nested List n_list = ["Hello", [2, 0, 1, 5]] # Nested indexing print[n_list[0][1]] # e print[n_list[1][3]] # 5Nếu truy cập index không nằm trong khoảng index của List thì sẽ gây ra lỗi IndexError. Nếu index không phải là kiểu integer thì sẽ gây ra lỗi TypeError.
my_list = ['g', 'o', 'c', 'h', 'o', 'c', 'i', 't'] #IndexError: list index out of range print[my_list[15]] #TypeError: list indices must be integers or slices, not float print[my_list[4.0]]Index của một List cũng có thể là số nguyên âm. Với index bằng -1 là vị trí của phần tử cuối cùng trong List.
# Negative indexing in lists my_list = ['p','r','o','b','e'] # last item print[my_list[-1]] # fifth last item print[my_list[-5]] Kết quảe pChúng ta có thể truy xuất một số phần tử liền kề nhau trong List bằng cách sử dụng toán tử slicing :.
my_list = ['g', 'o', 'c', 'h', 'o', 'c', 'i', 't'] # elements from index 2 to index 4 print[my_list[2:5]] # elements from index 5 to end print[my_list[5:]] # elements beginning to end print[my_list[:]] Kết quả['c', 'h', 'o'] ['c', 'i', 't'] ['g', 'o', 'c', 'h', 'o', 'c', 'i', 't']Sử dụng toán tử gán = để thay đổi các phần tử trong List hoặc chèn các phần tử trong List.
my_list = [2, 'it', 'hello', 8, 1] # change the 1st item my_list[0] = 'Gochocit' print[my_list] # change 2nd to 4th items my_list[1:4] = [3, 5, 'good'] print[my_list] # insert items into List my_list[2:2] = ['John', 'Marry', 'Kane'] print[my_list] Kết quả['Gochocit', 'it', 'hello', 8, 1] ['Gochocit', 3, 5, 'good', 1] ['Gochocit', 3, 'John', 'Marry', 'Kane', 5, 'good', 1]Sử dụng hàm append[]
Thêm một phần tử, một List hoặc một Tuple vào cuối danh sách.
# Creating a blank List List = [] print["Initial blank List: "] print[List] # Addition of Elements in the List List.append[1] List.append[2] List.append[4] print["List after Addition of Three elements: "] print[List] # Adding elements to the List using Iterator for i in range[1, 4]: List.append[i] print["List after Addition of elements from 1-3: "] print[List] # Adding Tuples to the List List.append[[5, 6]] print["List after Addition of a Tuple: "] print[List] # Addition of List to a List List2 = ['Gochocit', 'Hello'] List.append[List2] print["List after Addition of a List: "] print[List] Kết quảList after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, [5, 6]] List after Addition of a List: [1, 2, 4, 1, 2, 3, [5, 6], ['Gochocit', 'Hello']]Sử dụng hàm insert[]
Chèn các phần tử vào index được chỉ định trước trong List.
# Creating a List List = [1,2,3,4] print["Initial List: "] print[List] # Addition of Element at specific index List.insert[3, 12] List.insert[0, 'Gochocit'] print["List after performing Insert Operation: "] print[List] Kết quảInitial List: [1, 2, 3, 4] List after performing Insert Operation: ['Gochocit', 1, 2, 3, 12, 4]Sử dụng hàm extend[]
Thêm một số phần tử vào cuối danh sách.
# Creating a List List = [1, 2, 3, 4] print["Initial List: "] print[List] # Addition of multiple elements to the List at the end List.extend[[8, 'Gochocit', 'Hello']] print["List after performing Extend Operation: "] print[List] Kết quảInitial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Gochocit', 'Hello']Sử dụng toán tử + và *
Toán tử + giúp nối 2 List lại với nhau. Toán tử * giúp lặp lại List với số lần cho trước.
num_list = [1, 3, 5] #Operator + print[num_list + [9, 7, 5]] #Operator * print[["it"] * 3] Kết quả[1, 3, 5, 9, 7, 5] ['it', 'it', 'it']Chúng ta có thể xóa một hoặc nhiều phần tử trong List bằng cách sử dụng từ khóa del. Ngoài ra, chúng ta cũng có thể xóa toàn bộ List với từ khóa del.
my_list = [2, 'it', 'hello', 8, 1, 3, 5] # delete one item del my_list[2] print[my_list] # delete multiple items del my_list[1:5] print[my_list] # delete the entire list del my_list # Error: List not defined print[my_list] Kết quả[2, 'it', 8, 1, 3, 5] [2, 5] Traceback [most recent call last]: File "c:\python-examples\example.py", line 15, in print[my_list] NameError: name 'my_list' is not definedHàm remove[] giúp xóa một phần tử trong List. Hàm pop[] giúp xóa phần tử cuối trong List nếu không truyền đối số index. Hàm clear[] giúp xóa toàn bộ List.
my_list = [2, 'it', 'hello', 8, 1, 3, 5] my_list.remove['it'] # Output: [2, 'hello', 8, 1, 3, 5] print[my_list] # Output: 'hello' print[my_list.pop[1]] # Output: [2, 8, 1, 3, 5] print[my_list] # Output: '5' print[my_list.pop[]] # Output: [2, 8, 1, 3] print[my_list] my_list.clear[] # Output: [] print[my_list] Kết quả[2, 'hello', 8, 1, 3, 5] hello [2, 8, 1, 3, 5] 5 [2, 8, 1, 3] []Chúng ta có thể xóa các phần tử trong List bằng cách gán danh sách rỗng [empty list] cho List.
my_list = [2, 'it', 'hello', 8, 1, 3, 5] my_list[2:3] = [] # Output: [2, 'it', 8, 1, 3, 5] print[my_list] my_list[2:5] = [] # Output: [2, 'it', 5] print[my_list] Kết quả[2, 'it', 8, 1, 3, 5] [2, 'it', 5] Bài trước và bài sau trong môn học
Để hiểu rõ về ngôn ngữ lập trình Python, bạn đọc có thể tham khảo các bài tập sau:
- Khẳng định nào sau đây về Python là đúng?
A. Python là một ngôn ngữ lập trình cấp cao.
B. Python là một ngôn ngữ thông dịch.
C. Python là ngôn ngữ lập trình hướng đối tượng.
D. Tất cả các đáp án đều đúng.
- Kí hiệu nào dùng để xác định các khối lệnh [khối lệnh của hàm, vòng lặp,…] trong Python?
A. Dấu ngoặc nhọn { }
B. Dấu ngoặc vuông [ ]
C. Thụt lề
D. Dầu ngoặc đơn [ ] - Khẳng định nào là đúng về chú thích trong Python?
A. Chú thích giúp cho các lập trình viên hiểu rõ hơn về chương trình.
B. Trình thông dịch Python sẽ bỏ qua những chú thích.
C. Có thể viết chú thích trên cùng một dòng với lệnh/biểu thức hoặc viết trên nhiều dòng mà không vấn đề gì cả.
D. Tất cả các đáp án trên.
- Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
A. Tên biến có thể bắt đầu bằng dấu gạch dưới _. B. Có thể sử dụng keyword làm tên biến. C. Tên biến có thể bắt đầu bằng một chữ số.D. Tên biến có thể có các ký hiệu như ! @ # %
- Lệnh nào dùng để lấy dữ liệu đầu vào từ người dùng?
A. cin
B. scanf[]
C. input[]
D. print[] - Câu lệnh sử dụng toán tử and trả về kết quả TRUE khi nào?
A. Cả hai toán hạng đều là TRUE.
B. Cả hai toán hàng đều là FALSE.
C. Một trong hai toán hạng là TRUE.D. Toán hạng đầu tiên là TRUE.
- Ý nghĩa của hàm __init__[] trong Python là gì?
A. Khởi tạo một lớp để sử dụng.
B. Được gọi khi một đối tượng mới được khởi tạo.
C. Khởi tạo và đưa tất cả các thuộc tính dữ liệu về 0 khi được gọi.D. Không có đáp án đúng.
- Đoạn code nào sau đây sử dụng tính năng kế thừa của Python?
A. class Foo: Pass
B. class Foo[object]: pass class Hoo[object] pass
C. class Foo: pass class Hoo[Foo]: pass
D. Không có đáp án chính xác. - Một lớp được thừa hưởng thuộc tính từ hai lớp khác nhau được gọi là gì?
A. Kế thừa đa cấp [Multilevel Inheritance]
B. Đa kế thừa [Multiple Inheritance]
C. Kế thừa phân cấp [Hierarchical Inheritance]
D. Kế thừa [Inheritance]
- Mở file với chế độ mode ‘ a ‘ có ý nghĩa gì?
A. Mở file ở chế độ chỉ được phép đọc.
B. Mở file ở chế độ ghi.
C. Mở file chế độ ghi tiếp vào cuối file.
D. Mở file để đọc và ghi.
- Đoạn code nào tự động đóng tệp khi có ngoại lệ xảy ra?
A. with open[“test.txt”, encoding = ‘utf-8’] as f:
B. try: f = open[“test.txt”,encoding = ‘utf-8’] finall f.close[]
C. Không có đáp án chính xác
D. Cả A và B đều đúng
- Khẳng định nào về ngoại lệ là đúng nhất?
A. Ngoại lệ [Exception] là lỗi phát sinh khi đang thực thi chương trình [runtime error].
B. Lỗi cú pháp [syntax error] cũng là một ngoại lệ.
C. Ngoại lệ được Python dùng để loại bỏ một khối code khỏi chương trình.
D. Tất cả các đáp án trên đều đúng.
- Điều gì sẽ xảy ra nếu bạn cố mở một file không tồn tại?
A. Python tự động tạo một file mới dưới tên bạn đang gọi ra.
B. Không có gì xảy ra vì file không tồn tại.
C. Gây ra một ngoại lệ
D. Không có đáp án nào đúng
- Ngoại lệ nào xảy ra khi phát hiện thấy lỗi không thuộc bất kỳ danh mục nào khác?
A. ReferenceError
B. SystemError
C. RuntimeError
D. LookupError
- Mở file với chế độ mode ‘ wb ‘ có ý nghĩa gì?
A. Mở file để ghi.
B. Mở file để đọc và ghi.
C. Mở file để ghi cho dạng nhị phân.
D. Mở file để đọc và ghi cho dạng nhị phân.
- Đâu không phải là kiểu dữ liệu tiêu chuẩn trong Python?
A. List
B. Dictionary
C. Class
D. Tuple - Đâu là điểm khác biệt giữa tuple và list?
A. Tuple nằm trong dấu ngoặc nhọn, list nằm trong dầu ngoặc vuông.
B. Tuple nằm trong dấu ngoặc vuông, list nằm trong dầu ngoặc nhọn.
C. Tuple là danh sách với dữ liệu kiểu la mã, list là danh sách với kiểu dữ liệu thường.
D. Dữ liệu thuộc kiểu list có thể thay đổi được, dữ liệu thuộc kiểu tuple không thể thay đổi được.
- Hàm nào sau đây là hàm tích hợp sẵn trong Python
A. seed[]
B. sqrt[]
C. factorial[]
D. print[]
- Hàm pow[x,y,z] được diễn giải là:
A. [x**y]**z
B. [x**y] / z
C. [x**y] % z
D. [x**y]*z
- Đâu là kết quả của hàm complex[] trong những đáp án dưới đây?
A. 0j
B. 0+0j
C. 0
D. Error
- Hàm divmod[a,b] trong đó ‘a’ và ‘b’ là những số nguyên được diễn giải là:
A. [a%b, a//b]
B. [a//b, a%b]
C. [a//b, a*b]
D. [a/b, a%b]
- divmod[10.5,5]
divmod[2.4,1.2]
Output của hàm biểu diễn dưới đây là gì?
A. [2.00, 0.50]
B. [2, 0.5]
C. [2.0, 0.5]
D. [2, 0.5]
- Khẳng định sau đây đúng hay sai?
Biểu thức complex[‘2-3j’] là hợp lệ còn complex[‘2 – 3j’] sai cú pháp của hàm complex[].
A. Đúng
B. Sai
- Hàm nào sau đây không chấp nhận iterable làm tham số?
A. enumerate[]
B. all[]
C. chr[]
D. max[]
- Hàm nào sau đây chỉ chấp nhận số nguyên làm tham số?
A. ord[]
B. min[]
C. chr[]
D. any[]
- Giả sử có một list: l = [2,3,4]. Nếu muốn in list này theo thứ tự ngược lại ta nên sử dụng phương pháp nào sau đây?
A. reverse[l]
B. list[reverse[[l]]]
C. reversed[l]
D. list[reversed[l]]
- Hàm nào sau đây sẽ không xảy ra lỗi khi không truyền tham số cho nó?
A. min[]
B. divmod[]
C. all[]
D. float[]
- Hàm nào sau đây không gây ra lỗi?
A. ord[]
B. ord[‘ ‘]
C. ord[“]
D. ord[“”]
- Chọn đáp án đúng: Phát biểu nào chính xác khi nói về Hàm trong Python?
A. Hàm có thể được tái sử dụng trong chương trình.
B. Sử dụng hàm không có tác động tích cực gì đến các module trong chương trình.
C. Không thể tự tạo các hàm của riêng người viết chương trình.
D. Tất cả các đáp án trên đều đúng.
- Từ khóa nào được sử dụng để bắt đầu hàm?
A. Fun
B. Define
C. Def
D. Function
- Khẳng định nào sau đây về Python là đúng?
A. Python là một ngôn ngữ lập trình cấp cao.
B. Python là một ngôn ngữ thông dịch.
C. Python là ngôn ngữ lập trình hướng đối tượng.
D. Tất cả các đáp án đều đúng.
- Kí hiệu nào dùng để xác định các khối lệnh [khối lệnh của hàm, vòng lặp,…] trong Python?
A. Dấu ngoặc nhọn { }
B. Dấu ngoặc vuông [ ]
C. Thụt lề
D. Dầu ngoặc đơn [ ]
- Khẳng định nào là đúng về chú thích trong Python?
A. Chú thích giúp cho các lập trình viên hiểu rõ hơn về chương trình.
B. Trình thông dịch Python sẽ bỏ qua những chú thích.
C. Có thể viết chú thích trên cùng một dòng với lệnh/biểu thức hoặc viết trên nhiều dòng mà không vấn đề gì cả
D. Tất cả các đáp án trên.
- Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
A. Tên biến có thể bắt đầu bằng dấu gạch dưới ” _ “.
B. Có thể sử dụng keyword làm tên biến.
C. Tên biến có thể bắt đầu bằng một chữ số.
D. Tên biến có thể có các ký hiệu như !, @, #, $, %,…
- n trong đoạn sau là kiểu dữ liệu nào?
n = ‘5’
A. integer
B. string
C. tuple
D. operator
- Output của lệnh sau là: print[1, 2, 3, 4, sep=’*’]
A. 1 2 3 4
B. 1234
C. 1*2*3*4
D. 24
- Lệnh nào dùng để lấy dữ liệu đầu vào từ người dùng?
A. cin
B. scanf[]
C. input[]
D.
- Kết quả của đoạn code dưới đây là: numbers = [2, 3, 4]
print[numbers]
A. 2, 3, 4
B. 2 3 4
C. [2, 3, 4]
D. [2 3 4]
- Câu lệnh sử dụng toán tử and trả về kết quả TRUE khi nào?
A. Cả hai toán hạng đều là TRUE.
B. Cả hai toán hàng đều là FALSE.
C. Một trong hai toán hạng là TRUE.
D. Toán hạng đầu tiên là TRUE.
- Output của lệnh là: print[3 >= 3]
A. 3 >= 3
B. True
C. False
D. None
- Khẳng định nào là đúng khi nói về đoạn code sau: def printHello[]: print[“Hello”]
a = printHello[]
A. printHello[] là một hàm và a là một biến. Cả hai đều không phải đối tượng.
B. Cả printHello[] và a đều thể hiện chung một đối tượng.
C. printHello[] và a là hai đối tượng khác nhau.
D. Lỗi cú pháp. Không thể gán hàm cho một biến trong Python.
- Đâu là output của chương trình dưới đây?
def outerFunction[]:
global a
a = 20
def innerFunction[]:
global a
a = 30
print['a =', a]
a = 10
outerFunction[]
print['a =', a] A. a = 10 a = 30 B. a = 10 C. a = 20D. a = 30
- Khẳng định nào sau đây là đúng?
A. Lớp [class] là một kế hoạch chi tiết cho đối tượng.
B. Chỉ có thể tạo một đối tượng duy nhất từ lớp đã cho.
C. Cả hai đáp án trên đều đúng.
D. Không có đáp án chính xác.
- Đâu là kết quả của đoạn code dưới đây?
class Foo:
def printLine[self, line = 'Python']: print[line]
o1 = Foo[]
o1.printLine['Java'] A. Python B. line C. JavaD. Java Python
- Ý nghĩa của hàm __init__[] trong Python là gì?
A. Khởi tạo một lớp để sử dụng.
B. Được gọi khi một đối tượng mới được khởi tạo.
C. Khởi tạo và đưa tất cả các thuộc tính dữ liệu về 0 khi được gọi.
D. Không có đáp án đúng.
- Đâu là output của chương trình dưới đây?
class Point: def __init__[self, x = 0, y = 0]:self.x = x + 1
self.y = y + 1
p1 = Point[]
print[p1.x, p1.y] A. 0 0 B. 1 1 C. None NoneD. x y
- Đoạn code nào sau đây sử dụng tính năng kế thừa của Python?
A. class Foo: Pass
B. class Foo[object]: pass class Hoo[object] pass
C. class Foo: pass class Hoo[Foo]: pass
D. Không có đáp án chính xác.
- Một lớp được thừa hưởng thuộc tính từ hai lớp khác nhau được gọi là gì?
A. Kế thừa đa cấp [Multilevel Inheritance]
B. Đa kế thừa [Multiple Inheritance]
C. Kế thừa phân cấp [Hierarchical Inheritance]
D. Kế thừa [Inheritance]
- Khẳng định nào sau đây là đúng?
A. Trong Python, một toán tử có thể có hoạt động khác nhau tùy thuộc vào toán hạng được sử dụng.
B. Bạn có thể thay đổi cách các toán tử hoạt động trong Python.
C. __add [] __ được gọi khi toán tử ‘ + ‘ được sử dụng.
D. Tất cả các đáp trên đều đúng.
- Kết quả của chương trình dưới đây là: class Point: def __init__[self, x = 0, y = 0]: self.x = x
self.y = y
def __sub__[self, other]: x = self.x + other.x
y = self.y + other.y
return Point[x, y]
p1 = Point[3, 4]
p2 = Point[1, 2]
result = p1 – p2
print[result.x, result.y]
A. 2 2
B. 4 6
C. 0 0
D. 1 1
- Mở file với chế độ mode ‘ a ‘ có ý nghĩa gì?
A. Mở file ở chế độ chỉ được phép đọc.
B. Mở file ở chế độ ghi.
C. Mở file chế độ ghi tiếp vào cuối file.
D. Mở file để đọc và ghi.
- Đoạn code dưới đây có ý nghĩa gì?
f = open[“test.txt”]
A. Mở file test.txt được phép đọc và ghi vào file.
B. Mở file test.txt và chỉ được phép đọc file.
C. Mở file test.txt và được phép ghi đè vào file
D. Mở file test.txt và được phép ghi tiếp vào file.
- Đoạn code nào tự động đóng tệp khi có ngoại lệ xảy ra?
with open[“test.txt”, encoding = ‘utf-8’] as f: try: f = open[“test.txt”,encoding = ‘utf-8’] finall f.close[]
C. Không có đáp án chính xác
D. Cả A và B đều đúng
- Khẳng định nào là đúng về đoạn code dưới đây?
f = open[‘test.txt’, ‘r’, encoding = ‘utf-8’]
f.read[]
A. Chương trình này đọc nội dung của file test.txt.
B. Nếu test.txt có xuống dòng, hàm read[] sẽ trả về kí hiệu bắt đầu dòng mới là ‘\ n’.
C. Bạn có thể truyền một tham số kiểu integer cho read[]
D. Tất cả các đáp án trên đều đúng.
- Đoạn code dưới đây có ý nghĩa gì?
os.listdir[]
A. In ra thư mục làm việc hiện tại.
B. In ra tất cả các thư mục [không phải tệp] bên trong thư mục đã cho
C. In ra tất cả các thư mục và tập tin bên trong thư mục đã cho.
D. Tạo một thư mục mới.
- Khẳng định nào về ngoại lệ là đúng nhất?
A. Ngoại lệ [Exception] là lỗi phát sinh khi đang thực thi chương trình [runtime error].
B. Lỗi cú pháp [syntax error] cũng là một ngoại lệ.
C. Ngoại lệ được Python dùng để loại bỏ một khối code khỏi chương trình.
D. Tất cả các đáp án trên đều đúng.
- Điều gì sẽ xảy ra nếu bạn cố mở một file không tồn tại?
A. Python tự động tạo một file mới dưới tên bạn đang gọi ra.
B. Không có gì xảy ra vì file không tồn tại.
C. Gây ra một ngoại lệ
D. Không có đáp án nào đúng
- Đâu là kết quả của đoạn code dưới đây?
number = 5.0
try: r = 10 / number
print[r]
except: print[“Oops! Error occurred.”]
A. Oops! Error occurred.
B. 2.0
C. 2.0 Oops! Error occurred.
D. 5.0
- Đoạn code sau thực hiện yêu cầu gì?
try: # đoạn code có thể gây ra lỗi
pass
except[TypeError, ZeroDivisionError]: print[“Python Quiz”]
A. In ra ‘ Python Quiz ‘ nếu có ngoại lệ xảy ra [không quan trọng là ngoại lệ gì].
B. In ra ‘ Python Quiz ‘ nếu không có ngoại lệ xảy ra.
C. In ra ‘ Python Quiz ‘ nếu một trong hai ngoại lệ TypeError và ZeroDivisionError xảy ra.
D. Chỉ in ra ‘ Python Quiz ‘ khi cả hai ngoại lệ TypeError và ZeroDivisionError cùng xảy ra
- Ngoại lệ nào xảy ra khi phát hiện thấy lỗi không thuộc bất kỳ danh mục nào khác?
A. ReferenceError
B. SystemError
C. RuntimeError
D. LookupError
- Kết quả nào là output của đoạn code dưới đây?
def myfunc[]: try: print[‘Monday’]
finally: print[‘Tuesday’]
myfunc[]
A. Tuesday
B. Monday Tuesday
C. Tuesday Monday
D. Monday
- Kết quả nào là output của đoạn code dưới đây?
try: print[“throw”]
except: print[“except”]
finally: print[“finally”]
A. finally throw
B. finally except
C. except finally
D. throw finally
- Khẳng định nào là đúng về chương trình dưới đây?
class A: def __init__[self]: self.a = 1
self.__b = 1
def getY[self]: return self.__b
obj = A[]
obj.a = 45
print[obj.a]
A. Chương trình có lỗi xảy ra vì ‘ __b ‘ là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
B. Chương trình chạy bình thường và kết quả được in ra là 1.
C. Chương trình có lỗi xảy ra vì ‘ a ‘ là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
D. Chương trình chạy bình thường và kết quả được in ra là 45.
- Khẳng định nào là đúng về chương trình dưới đây?
class A: def __init__[self]: self.x = 1
self.__y = 1
def getY[self]: return self.__y
a = A[]
a.x = 45
print[a.x]
A. Chương trình có lỗi xảy ra vì ‘ x ‘ là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
B. Chương trình chạy bình thường và kết quả được in ra là 1.
C. Chương trình có lỗi xảy ra vì ‘ __y ‘ là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
D. Chương trình chạy bình thường và kết quả được in ra là 45.
- Mở file với chế độ mode ‘ wb ‘ có ý nghĩa gì?
A. Mở file để ghi.
B. Mở file để đọc và ghi.
C. Mở file để ghi cho dạng nhị phân.
D. Mở file để đọc và ghi cho dạng nhị phân.
- Đối tượng dưới đây thuộc kiểu dữ liệu nào?
L = [1, 23, ‘hello’, 1]
A. List
B. Dictionary
C. Tuple
D. Array
- Output của lệnh dưới đây là: print “Hello World”[::-1]
A. dlroW olleH
B. Hello Worl
C. d
D. Error
- Kết quả nào là output của đoạn code dưới đây?
list = [ ‘Tech’, 404, 3.03, ‘Beamers’, 33.3 ]
print list[1:3]
A. [ ‘Tech’, 404, 3.03, ‘Beamers’, 33.3 ]
B. [404, 3.03]
C. [‘Tech’, ‘Beamers’]
D. None of the above
- Đâu không phải là kiểu dữ liệu tiêu chuẩn trong Python?
A. List
B. Dictionary
C. Class
D. Tuple
- Đâu là giá trị của colors[2]?
colors = [‘red’, ‘orange’, ‘yellow’, ‘green’, ‘blue’, ‘indigo’, ‘violet’]
A. orange
B. indigo
C. blue
D. yellow
- Đâu là điểm khác biệt giữa tuple và list?
A. Tuple nằm trong dấu ngoặc nhọn, list nằm trong dầu ngoặc vuông.
B. Tuple nằm trong dấu ngoặc vuông, list nằm trong dầu ngoặc nhọn.
C. Tuple là danh sách với dữ liệu kiểu la mã, list là danh sách với kiểu dữ liệu thường.
D. Dữ liệu thuộc kiểu list có thể thay đổi được, dữ liệu thuộc kiểu tuple không thể thay đổi được.
- Đâu là output của đoạn code dưới đây?
mylist=[1, 5, 9, int[‘0’]]
print[sum[mylist]]
A. 16
B. 15
C. 63
D. Không có đáp án đúng.
- Kết quả của chương trình được in ra là: mylist=[‘a’, ‘aa’, ‘aaa’, ‘b’, ‘bb’, ‘bbb’]
print[mylist[:-1]]
A. [a, aa, aaa, b, bb]
B. [‘a’, ‘aa’, ‘aaa’, ‘b’, ‘bb’]
C. [‘a’, ‘aa’, ‘aaa’, ‘b’, ‘bb’, ‘bbb’]
D. Error
- Lệnh print in ra kết quả nào cho chương trình dưới đây?
list1 = [1, 3]
list2 = list1
list1[0] = 4
print[list2]
A. [4, 3]
B. [1, 3]
C. [1, 4]
D. [1, 3, 4]
- Chạy code sau trong Python, kết quả là: num = ‘5’*’5′
A. 333
B. 27
C. 9
D. TypeError: can’t multiply sequence by non-int of type ‘str’
- Vòng lặp nào trả về kết quả dưới đây?
11111
22222
33333
44444
55555
for i in range[1, 6]: print[i, i, i, i, i]
for i in range[1, 5]: print[str[i] * 5]
for i in range[1, 6]: print[str[i] * 5]
for i in range[0, 5]: print[str[i] * 5]
- Điền phần còn thiếu trong đoạn code để được out dưới đây: 55555
44444
33333
22222
11111
for i in range[5, 0, ____ ]: print[str[i] * 5]
A. 0
B. None
C. 1
D. -1
- Đâu là kết quả của đoạn code dưới đây?
myList = [1, 5, 5, 5, 5, 1]
max = myList[0]
indexOfMax = 0
for i in range[1, len[myList]]: if myList[i] > max: max = myList[i]
indexOfMax = i
print[indexOfMax]
A. 0
B. 4
C. 1
D. 5
- Kết quả nào là output của đoạn code dưới đây?
x = True
y = False
z = False
if not x or y: print[1]
elif not x or not y and z: print[2]
elif not x or y or not y and x: print[3]
else: print[4]
A. 2
B. None
C. 1
D. 3
- Theo dõi đoạn code dưới đây và chọn đáp án đúng nhất: a = [1, 4, 20, 2, 5]
x = a[0]
for i in a: if i > x: x = i
print x
A. x là giá trị trung bình của list.
B. x là giá trị nhỏ nhất của list.
C. x là giá trị lớn nhất của list.
D. x là tổng giá trị các số trong list.
- Kết quả nào là output của đoạn code dưới đây?
for i in range[10]: if i == 5: break
else: print[i]
else: print[“Here”]
A. 0 1 2 3 4 Here
B. 0 1 2 3 4 5 Here
C. 0 1 2 3 4
D. 1 2 3 4 5
- Kết quả của chương trình được in ra màn hình là?
string = “my name is x”
for i in string: print [i, end=”, “]
A. m, y, , n, a, m, e, , i, s, , x,
B. m, y, , n, a, m, e, , i, s, , x
C. my, name, is, x,
D. Error
- Theo dõi đoạn code dưới đây và chọn đáp án đúng nhất: i = 0
x = 0
while i < 10: if i % 2 == 0: x += 1
i += 1
x = _____.
A. 3
B. 4
C. 5
D. 0
- Kết quả nào là output của đoạn code dưới đây?
def f[value]: while True: value = [yield value]
a = f[10]
print[next[a]]
print[next[a]]
print[a.send[20]]
A. 10 10
B. 10 10 20
C. 10 None 20
D. 10 None None
VDO.AI
Play Video
Play
Unmute
Current Time 0:00
/
Duration 0:00
Loaded: 0%
0:00
Stream Type LIVE
Seek to live, currently behind liveLIVE
Remaining Time -0:00
1x
Playback Rate
Chapters
O CHAPTERS
Descriptions
o descriptions off, selected
Subtitles
o subtitles settings, opens subtitles settings dialog
o subtitles off, selected
Audio Track
Picture-in-PictureFullscreen
This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
TextColor Transparency BackgroundColor Transparency WindowColor Transparency
Font Size Text Edge Style Font Family
Reset restore all settings to the default valuesDone
Close Modal Dialog
End of dialog window.
Advertisement
- Kết quả của chương trình được in ra màn hình là?
x = 1
y = “2”
z = 3
sum = 0
for i in [x, y, z]: if isinstance[i, int]: sum += i
print[sum]
A. 2
B. 3
C. 4
D. 6
- Hàm nào sau đây là hàm tích hợp sẵn trong Python
A. seed[]
B. sqrt[]
C. factorial[]
D. print[]
- Kết quả của biểu thức sau là gì?
round[4.576]
A. 4.5
B. 5
C. 4
D. 4.6
- Hàm pow[x,y,z] được diễn giải là: A. [x**y]**z
B. [x**y] / z
C. [x**y] % z
D. [x**y]*z
- Kết quả của hàm sau là gì?
all[[2,4,0,6]]
A. Error
B. True
C. False
D. 0
- Kết quả của biểu thức sau là gì?
round[4.5676,2]
A. 4.5
B. 4.6
C. 4.57
D. 4.56
- Output của hàm sau là gì?
any[[2>8, 4>2, 1>2]]
A. Error
B. True
C. False
D. 4>2
- Output của hàm biểu diễn dưới đây là gì?
import math
abs[math.sqrt[25]]
A. Error
B. -5
C. 5
D. 5.0
- Các kết quả của hàm hiển thị dưới đây là gì?
sum[2,4,6]
sum[[1,2,3]]
A. Error, 6
B. 12, Error
C. 12, 6
D. Error, Error
- Output của hàm sau là: all[3,0,4.2]
A. True
B. False
C. Error
D. 0
- Kết quả của biểu thức sau là gì?
min[max[False,-3,-4], 2,7]
A. 2
B. False
C. -3
D. -4
- Kết quả của biểu thức sau là gì?
chr[’97’]
chr[97]
A. a Error
B. ‘a’ a
C. Error a
D. Error Error
- Kết quả của hàm sau là gì?
complex[1+2j]
A. Error
B. 1
C. 2j
D. 1+2j
- Đâu là kết quả của hàm complex[] trong những đáp án dưới đây?
A. 0j
B. 0+0j
C. 0
D. Error
- Hàm divmod[a,b] trong đó ‘a’ và ‘b’ là những số nguyên được diễn giải là: A. [a%b, a//b]
B. [a//b, a%b]
C. [a//b, a*b]
D. [a/b, a%b]
- Output của hàm biểu diễn dưới đây là gì?
divmod[10.5,5]
divmod[2.4,1.2]
A. [2.00, 0.50] [2.00, 0.00]
B. [2, 0.5] [2, 0]
C. [2.0, 0.5] [2.0, 0.0]
D. [2, 0.5] [2]
- Biểu thức complex[‘2-3j’] là hợp lệ còn complex[‘2 – 3j’] sai cú pháp của hàm complex[]. Khẳng định sau đây đúng hay sai?
A. Đúng
B. Sai
- Kết quả của hàm hiển thị dưới đây là gì?
list[enumerate[[2, 3]]]
A. Error
B. [[1, 2], [2, 3]]
C. [[0, 2], [1, 3]]
D. [[2, 3]]
- Kết quả của hàm hiển thị dưới đây là gì?
x=3
eval[‘x^2’]
A. Error
B. 1
C. 9
D. 6
- Output của hàm sau là gì?
float[‘1e-003’]
float[‘2e+003’]
A. 3.00 300
B. 0.001 2000.0
C. 0.001 200
D. Error 2003
- Hàm nào sau đây không chấp nhận iterable làm tham số?
A. enumerate[]
B. all[]
C. chr[]
D. max[]
- Hàm nào sau đây chỉ chấp nhận số nguyên làm tham số?
A. ord[]
B. min[]
C. chr[]
D. any[]
- Giả sử có một list: l = [2,3,4]. Nếu muốn in list này theo thứ tự ngược lại ta nên sử dụng phương pháp nào sau đây?
A. reverse[l]
B. list[reverse[[l]]]
C. reversed[l]
D. list[reversed[l]]
- Output của hàm sau là gì? Lưu ý: số lượng khoảng trắng trước số đó là 5.
float[‘ -12345\n’]
A. -12345.0 [5 khoảng trắng trước số]
B. -12345.0
C. Error
D. -12345.000000000…. [số thập phân vô hạn]
- Kết quả của hàm hiển thị dưới đây là gì?
ord[65]
ord[‘A’]
A. A 65
B. Error 65
C. A Error
D. Error Error
- Kết quả của hàm sau là gì?
float[‘-infinity’]
float[‘inf’]
A. –inf inf
B. –infinity inf
C. Error Error
D. Error Junk value
- Hàm nào sau đây sẽ không xảy ra lỗi khi không truyền tham số cho nó?
A. min[]
B. divmod[]
C. all[]
D. float[]
- Kết quả của biểu thức sau là gì?
hex[15]
A. f
B. 0xF
C. 0Xf
D. 0xf
- Hàm nào sau đây không gây ra lỗi?
A. ord[]
B. ord[‘ ‘]
C. ord[“]
D. ord[“”]
- Kết quả của hàm hiển thị dưới đây là gì?
len[[“hello”,2, 4, 6]]
A. 4
B. 3
C. Error
D. 6
- Kết quả của hàm sau là gì?
oct[7]
oct[‘7’]
A. Error 07
B. 07 Error
C. 0o7 Error
D. 07 0o7
- Chọn đáp án đúng: Phát biểu nào chính xác khi nói về Hàm trong Python?
A. Hàm có thể được tái sử dụng trong chương trình.
B. Sử dụng hàm không có tác động tích cực gì đến các module trong chương trình.
C. Không thể tự tạo các hàm của riêng người viết chương trình.
D. Tất cả các đáp án trên đều đúng.
- Từ khóa nào được sử dụng để bắt đầu hàm?
A. Fun
B. Define
C. Def
D. Function
- Output của chương trình dưới đây là gì?
def sayHello[]: print[‘Hello World!’]
sayHello[]
sayHello[]
A. Hello World! Hello World!
B. ‘Hello World!’ ‘Hello World!’
C. Hello Hello
D. Không có đáp án đúng
- Output của chương trình dưới đây là gì?
def printMax[a, b]: if a > b: print[a, ‘is maximum’]
elif a == b: print[a, ‘is equal to’, b]
else: print[b, ‘is maximum’]
printMax[3, 4]
A. 3
B. 4
C. 4 is maximum
D. Không có đáp án
- Output của chương trình dưới đây là gì?
x = 50
def func[x]: print[‘Giá trị của x là’, x]
x = 2
print[‘Giá trị của x được thay đổi thành’, x]
func[x]
print[‘Giá trị hiện tại của x là’, x]
A. Giá trị hiện tại của x là 50
B. Giá trị hiện tại của x là 100
C. Giá trị hiện tại của x là 2
D. Không có đáp án đúng
- Output của chương trình dưới đây là gì?
x = 50
def func[]: global x
print[‘Giá trị của x là’, x]
x = 2
print[‘Giá trị của x được thay đổi thành’, x]
func[]
print[‘Giá trị hiện tại của x là’, x]
A. Giá trị của x là 50 Giá trị của x được thay đổi thành 2 Giá trị hiện tại của x là 50
B. Giá trị của x là 50 Giá trị của x được thay đổi thành 2 Giá trị hiện tại của x là 2
C. Giá trị của x là 50 Giá trị của x được thay đổi thành 50 Giá trị hiện tại của x là 50
D. Không có đáp án đúng
- Output của chương trình dưới đây là gì?
def say[message, times = 1]: print[message * times]
say[‘Hello’]
say[‘World’, 5]
A. Hello WorldWorldWorldWorldWorld
B. Hello World 5
C. Hello World,World,World,World,World
D. Hello HelloHelloHelloHelloHello
- Output của chương trình dưới đây là gì?
def func[a, b = 5, c = 10]: print[‘a bằng’, a, ‘và b bằng’, b, ‘và c bằng’, c]
func[3, 7]
func[25, c = 24]
func[c = 50, a = 100]
A. a bằng 7 và b bằng 3 và c bằng 10 a bằng 25 và b bằng 5 và c bằng 24 a bằng 5 và b bằng 100 và c bằng 50
B. a bằng 3 và b bằng 7 và c bằng 10 a bằng 5 và b bằng 25 và c bằng 24 a bằng 50 và b bằng 100 và c bằng 5
C. a bằng 3 và b bằng 7 và c bằng 10 a bằng 25 và b bằng 5 và c bằng 24 a bằng 100 và b bằng 5 và c bằng 50
D. Không có đáp án đúng
- Output của chương trình dưới đây là gì?
def maximum[x, y]: if x > y: return x
elif x == y: return ‘Các số bằng nhau’
else: return y
print[maximum[2, 3]]
A. 2
B. 3
C. Các số bằng nhau
D. Không có đáp án
- Chọn đáp án đúng: Phát biểu nào chính xác khi nói về Docstring trong Python?
A. Docstring là chuỗi đầu tiên ngay sau tiêu đề hàm
B. Docstring là không bắt buộc nhưng nên có trong một hàm
C. Docstring được truy cập bởi thuộc tính __doc__ trên đối tượng
D. Tất cả các đáp án trên đều đúng.
- Đâu là lợi thế của việc sử dụng hàm trong Python?
A. Tránh việc phải lặp lại code thực thi những tác vụ tương tự nhau.
B. Phân tách các vấn đề phức tạp thành các phần đơn giản hơn.
C. Code rõ ràng, dễ quản lý hơn
D. Tất cả các đáp án đều đúng.
- Python có 2 loại hàm chính, đó là: A. Custom function & User defined function
B. Built-in function & User defined function
C. Built-in function & User function
D. System function & User function
- Hàm được khai báo ở đâu?
A. Module
B. Class
C. Trong một hàm khác
D. Tất cả các phương án trên
- Đâu là yếu tố được gọi ra khi hàm được khai báo trong một class?
A. Module
B. Class
C. Method
D. Một hàm khác
- Chọn đáp án đúng khi nói về hàm id[] trong Python?
A. Id[] trả về định danh một đối tượng.
B. Mỗi đối tượng không chỉ có một id duy nhất.
C. Cả hai phương án trên đều đúng.
D. Không có đáp án đúng.