In the following code (numbers added) - which will be the last line to execute successfully? (1) astr = 'Hello Bob' (2) istr = int(astr) (3) print('First', istr) (4) astr = '123' (5) istr = int(astr) (6) print('Second', istr)
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đá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.