Trắc nghiệm Tin học 10 Kết nối tri thức Bài 25: Một số lệnh làm việc với xâu kí tự - Đề 07
Trắc nghiệm Tin học 10 Kết nối tri thức Bài 25: Một số lệnh làm việc với xâu kí tự - Đề 07 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Cho xâu ký tự `s = "Lap trinh Python co ban"`. Lệnh `s.find("Python")` sẽ trả về giá trị nào?
Câu 2: Xét đoạn mã Python sau:
```python
s = "Việt Nam"
print(s.find("nam"))
```
Kết quả in ra màn hình là gì?
- A. 0
- B. 3
- C. 4
- D. Không tìm thấy
Câu 3: Cho xâu `text = "apple,banana,orange"`. Lệnh `text.split(",")` sẽ tạo ra đối tượng dữ liệu nào?
- A. Một danh sách các xâu: `["apple", "banana", "orange"]`
- B. Một xâu mới: `"apple banana orange"`
- C. Một tuple các xâu: `("apple", "banana", "orange")`
- D. Một xâu ban đầu không thay đổi: `"apple,banana,orange"`
Câu 4: Giả sử bạn có danh sách từ vựng `words = ["sun", "moon", "stars"]`. Lệnh `" ".join(words)` sẽ tạo ra xâu ký tự nào?
- A. `"sun,moon,stars"`
- B. `"sun-moon-stars"`
- C. `"sun|moon|stars"`
- D. `"sun moon stars"`
Câu 5: Cho hai xâu `str1 = "Hello"` và `str2 = "World"`. Biểu thức `str1 + " " + str2` sẽ trả về xâu nào?
- A. `"Hello World"`
- B. `"HelloWorld"`
- C. `"Hello+World"`
- D. `"World Hello"`
Câu 6: Hàm nào sau đây được sử dụng để đếm số ký tự trong một xâu?
- A. `count()`
- B. `len()`
- C. `length()`
- D. `size()`
Câu 7: Cho xâu `s = "programming"`. Đoạn mã `print(s[3:7])` sẽ in ra phần xâu con nào?
- A. `"progr"`
- B. `"ogramm"`
- C. `"gram"`
- D. `"rogram"`
Câu 8: Phương thức `split()` có thể tách một xâu dựa trên nhiều dấu phân tách khác nhau không? Ví dụ, vừa tách theo dấu phẩy, vừa tách theo dấu cách.
- A. Có, phương thức `split()` mặc định hỗ trợ nhiều dấu phân tách.
- B. Không, phương thức `split()` thường chỉ dùng một dấu phân tách. Cần cách khác cho nhiều dấu phân tách.
- C. Có, nhưng cần khai báo rõ ràng tất cả các dấu phân tách trong ngoặc đơn.
- D. Chỉ có thể tách theo dấu cách hoặc không dấu phân tách.
Câu 9: Cho xâu `sentence = "Toi yeu Viet Nam"`. Nếu muốn tách xâu này thành danh sách các từ, bạn sẽ sử dụng lệnh nào?
- A. `sentence.split()`
- B. `sentence.split(",")`
- C. `sentence.find(" ")`
- D. `sentence.join()`
Câu 10: Xét đoạn mã sau:
```python
words = ["Chào", "mừng", "đến", "với", "Python"]
x = "-".join(words)
print(x)
```
Giá trị của `x` sau khi thực hiện đoạn mã trên là gì?
- A. `"Chào mừng đến với Python"`
- B. `"Chào,mừng,đến,với,Python"`
- C. `"Chào-mừng-đến-với-Python"`
- D. `"Chào_mừng_đến_với_Python"`
Câu 11: Cho xâu `data = " information technology "`. Phương thức nào giúp loại bỏ khoảng trắng thừa ở đầu và cuối xâu?
- A. `replace()`
- B. `split()`
- C. `find()`
- D. `strip()`
Câu 12: Nếu bạn muốn kiểm tra xem xâu "apple" có xuất hiện trong xâu "I like apples and bananas" hay không, toán tử nào là phù hợp nhất?
- A. `find()`
- B. `in`
- C. `split()`
- D. `join()`
Câu 13: Kết quả của biểu thức `"Tin" in "Truong THPT Nguyen Trai"` là gì?
- A. `True`
- B. `False`
- C. `0`
- D. `1`
Câu 14: Cho xâu `text = "Python is FUN"`. Lệnh `text.lower()` sẽ trả về xâu nào?
- A. `"PYTHON IS FUN"`
- B. `"python is fun"`
- C. `"Python Is Fun"`
- D. `"pYTHON iS fUN"`
Câu 15: Cho xâu `greeting = "hello world"`. Lệnh `greeting.upper()` sẽ trả về xâu nào?
- A. `"Hello World"`
- B. `"hello world"`
- C. `"HELLO WORLD"`
- D. `"hELLO wORLD"`
Câu 16: Phương thức nào sau đây dùng để thay thế một xâu con bằng một xâu khác trong một xâu mẹ?
- A. `replace()`
- B. `split()`
- C. `join()`
- D. `find()`
Câu 17: Cho xâu `s = "This is a test string"`. Lệnh `s.replace("is", "was")` sẽ tạo ra xâu mới nào?
- A. `"Thwas is a test string"`
- B. `"Thwas was a test string"`
- C. `"This was a test string"`
- D. `"This is a was test string"`
Câu 18: Xét đoạn mã:
```python
line = "name=Alice,age=30,city=NewYork"
parts = line.split(",")
result = {}
for part in parts:
key, value = part.split("=")
result[key] = value
print(result)
```
Đoạn mã này thực hiện công việc gì?
- A. Đếm số từ trong xâu `line`.
- B. Tìm kiếm xâu con "=" trong `line`.
- C. Chuyển đổi xâu `line` thành một dictionary với key và value.
- D. In ra xâu `line` sau khi loại bỏ dấu "=" và dấu ",".
Câu 19: Cho danh sách các số `numbers = ["1", "2", "3", "4", "5"]`. Để tạo ra một xâu `"1-2-3-4-5"`, bạn sử dụng lệnh nào?
- A. `numbers.split("-")`
- B. `"-".split(numbers)`
- C. `"-".replace(numbers)`
- D. `"-".join(numbers)`
Câu 20: Bạn có xâu `path = "/home/user/documents/file.txt"`. Để tách đường dẫn này thành các thư mục và tên file, phương thức nào phù hợp nhất?
- A. `path.split("/")`
- B. `path.find("/")`
- C. `path.join("/")`
- D. `path.replace("/")`
Câu 21: Cho xâu `code = " PYTHON "`. Nếu bạn muốn vừa loại bỏ khoảng trắng hai đầu, vừa chuyển thành chữ thường, bạn nên dùng các phương thức nào theo thứ tự nào?
- A. `lower()` rồi `strip()`
- B. Chỉ cần dùng `lower()`
- C. `strip()` rồi `lower()`
- D. Chỉ cần dùng `strip()`
Câu 22: Trong Python, xâu ký tự có phải là kiểu dữ liệu bất biến (immutable) không? Tức là sau khi tạo ra, giá trị của xâu có thể thay đổi trực tiếp được không?
- A. Không, xâu là kiểu dữ liệu khả biến (mutable), có thể thay đổi trực tiếp.
- B. Có, xâu là kiểu dữ liệu bất biến (immutable), không thể thay đổi trực tiếp.
- C. Chỉ một số thao tác nhất định mới làm thay đổi xâu trực tiếp.
- D. Tính bất biến của xâu phụ thuộc vào phiên bản Python.
Câu 23: Cho xâu `phrase = "search and replace"`. Nếu bạn muốn đếm số lần xâu "search" xuất hiện trong `phrase`, bạn có thể dùng phương thức nào?
- A. `find()`
- B. `len()`
- C. `count()`
- D. `index()`
Câu 24: Kết quả của lệnh `print("banana".count("na"))` là gì?
Câu 25: Cho xâu `text_data = "123,456,789"`. Nếu bạn muốn chuyển xâu này thành danh sách các số nguyên, bạn cần kết hợp các lệnh nào?
- A. Chỉ cần `split(",")`
- B. Chỉ cần `int()`
- C. `split(",")` và `join()`
- D. `split(",")` và vòng lặp với `int()`
Câu 26: Phương thức `find()` và toán tử `in` có điểm gì khác biệt chính trong việc kiểm tra xâu con?
- A. `find()` trả về vị trí của xâu con, `in` trả về giá trị đúng/sai.
- B. `in` trả về vị trí của xâu con, `find()` trả về giá trị đúng/sai.
- C. `find()` chỉ dùng cho xâu, `in` dùng cho cả số và xâu.
- D. `in` nhanh hơn `find()` trong mọi trường hợp.
Câu 27: Cho xâu `info = "Name:John,Age:25,City:London"`. Làm thế nào để trích xuất ra giá trị của "Age" (tức là "25") sử dụng các lệnh làm việc với xâu?
- A. Dùng lệnh `find("Age")` để tìm vị trí bắt đầu của "Age".
- B. Tách xâu theo ",", sau đó tách từng phần theo ":" và tìm phần có key là "Age".
- C. Dùng lệnh `replace("Age", "25")`.
- D. Không thể trích xuất trực tiếp, cần dùng thư viện ngoài.
Câu 28: Trong Python, bạn có thể thay đổi một ký tự cụ thể trong xâu bằng cách gán giá trị mới cho vị trí index của ký tự đó không? Ví dụ, `s = "hello"; s[0] = "H"`.
- A. Có, đây là cách thông thường để sửa đổi xâu.
- B. Có, nhưng chỉ khi xâu được khai báo là biến mutable.
- C. Không, xâu trong Python là bất biến, thao tác này sẽ gây ra lỗi.
- D. Có, nhưng chỉ với phiên bản Python mới nhất.
Câu 29: Cho xâu `s = " лишние пробелы "`. (Xâu chứa chữ "лишние пробелы" trong tiếng Nga, nghĩa là "khoảng trắng thừa"). Hãy sử dụng phương thức phù hợp để loại bỏ khoảng trắng thừa ở đầu và cuối xâu, sau đó in ra xâu đã được xử lý.
- A. `print(s.replace(" ", ""))`
- B. `print(s.split())`
- C. `print(s.join())`
- D. `print(s.strip())`
Câu 30: Bạn có một danh sách các dòng văn bản, mỗi dòng là một xâu. Bạn muốn ghép tất cả các dòng này thành một đoạn văn bản duy nhất, với mỗi dòng được phân tách bởi dấu xuống dòng (`n`). Phương thức nào phù hợp nhất để thực hiện điều này?
- A. `"".split(list_of_lines)`
- B. `"n".join(list_of_lines)`
- C. `list_of_lines.replace("n")`
- D. `list_of_lines.strip("n")`