Câu hỏi: PRP201c Lập trình Python – Bộ ôn tập cuối kỳ số 2
46 câu trắc nghiệm kèm lời giải của môn PRP201c - Lập trình Python, xếp đúng thứ tự trong đề.
Danh sách câu hỏi
friends = [ 'Joseph', 'Glenn', 'Sally' ]
friends.sort()
print (friends[1])print(x[14/17])print(x[14:17])print(x[14:3])print(x[14+3])y = re.findall('^F.+:', x)
print(y)Đáp án đúng: "1". Python thực thi lần lượt từng dòng từ trên xuống. Dòng 1 gán chuỗi 'Hello Bob' cho astr và chạy thành công. Dòng 2 gọi int('Hello Bob'), nhưng chuỗi này không biểu diễn số nguyên nên int() ném ngoại lệ ValueError (invalid literal for int() with base 10); vì không có try/except bao quanh, chương trình dừng ngay tại đó, nên dòng cuối cùng chạy thành công là dòng 1. "2" sai vì chính dòng 2 là dòng gây lỗi: nó bắt đầu chạy nhưng không hoàn tất. "3" sai vì lệnh print ở dòng 3 không bao giờ được tới, lỗi ở dòng 2 đã chấm dứt chương trình trước đó. "6" chỉ đúng nếu mọi dòng đều chạy được; các dòng 4 tới 6 với chuỗi '123' vốn hợp lệ (int('123') cho 123) nhưng không được thực thi vì chương trình đã dừng. Muốn chạy tiếp tới cuối phải bọc dòng 2 trong try/except.
replace()replaceString()repl()rep()Đáp án đúng: "replace()". Kiểu str của Python có phương thức replace(old, new) trả về chuỗi mới, trong đó mọi lần xuất hiện của chuỗi con old được thay bằng new; ví dụ 'banana'.replace('a', 'o') cho 'bonono'. Chuỗi là bất biến (immutable) nên phương thức không sửa chuỗi gốc, phải gán kết quả cho biến nếu muốn dùng tiếp. "replaceString()" không tồn tại trong str; đó là kiểu đặt tên của một số ngôn ngữ khác, gọi trong Python sẽ báo AttributeError. "repl()" cũng không phải phương thức chuỗi; REPL là tên gọi vòng đọc, thực thi, in của chế độ tương tác, còn thay thế theo mẫu biểu thức chính quy thì dùng re.sub. "rep()" không tồn tại; dễ nhầm với repr(), hàm dựng sẵn trả về chuỗi biểu diễn của một đối tượng, không liên quan đến việc thay thế.