Câu hỏi: PRP201c - Phần 1: Nền tảng lập trình Python
40 câu trắc nghiệm kèm lời giải của môn PRP201c - Lập trình Python, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
quit()stop()exit()end()if x == 5 :
print('Is 5')
print('Is Still 5')
print('Third 5')Đá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.
Đáp án đúng: "You de-indent the next line past the if block to the same level of indent as the original if statement". Python dùng thụt lề (indentation) để đánh dấu khối lệnh: mọi dòng thuộc khối if phải thụt vào cùng một mức sau dấu hai chấm, và khối kết thúc khi gặp dòng đầu tiên lùi lề (de-indent) về đúng mức của chính câu lệnh if; dòng đó là lệnh kế tiếp nằm ngoài khối. Phương án "You omit the semicolon ; on the last line of the if block" sai vì Python không dùng dấu chấm phẩy để kết thúc lệnh hay khối; dấu chấm phẩy chỉ tuỳ chọn khi ghép hai lệnh trên một dòng. Phương án "You put the colon : character on a line by itself to indicate we are done with the if block" sai vì dấu hai chấm đặt ở cuối dòng if để mở khối chứ không đóng khối, và đứng riêng một dòng sẽ gây SyntaxError. Phương án "You use a curly brace { after the last line of the if block" là lối viết của Java hay JavaScript, vốn bao khối bằng cặp ngoặc nhọn; Python không dùng ngoặc nhọn cho khối lệnh, trong Python ngoặc nhọn dùng để tạo dict hoặc set.
Đáp án đúng: "print(type(x))". Hàm có sẵn type() nhận một đối tượng và trả về kiểu của nó, nên print(type(x)) với x = 5 in ra <class 'int'>, với x = 'abc' in ra <class 'str'>. Đây là cách kiểm tra kiểu nhanh khi gỡ lỗi, còn muốn kiểm một giá trị có thuộc một kiểu hay không thì dùng isinstance(x, int). "print(typeof(x))" sai vì typeof là toán tử của JavaScript; Python không có tên typeof nên báo NameError. "print(typeof x)" vẫn là cú pháp JavaScript, hai tên đứng cạnh nhau không có toán tử nên Python báo SyntaxError ngay khi đọc mã. "print(typeOf(x))" cũng không tồn tại; Python phân biệt chữ hoa chữ thường và không có hàm typeOf nào, kết quả là NameError.
exitbreakstopreturnif x < 2:
print('Below 2')
elif x >= 2:
print('Two or more')
else:
print('Something else')whilepayrollnamespizza