In the following code (numbers added) - which will be the last line to execute successfully? (1) aStr = 'Hello Bob' (2) iStr = int(aStr) (3) printf("First", iStr) (4) aStr = '123' (5) iStr = int(aStr) (6) printf("Second", iStr)

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "2". Lần theo mã: dòng 1 gán aStr = 'Hello Bob' chạy bình thường; dòng 2 gọi int(aStr) nhưng chuỗi 'Hello Bob' không phải số nên Python ném ValueError, và vì không có try/except, chương trình dừng ngay tại đó. Cần nói thẳng: theo nghĩa chặt, dòng cuối cùng chạy thành công là dòng 1, vì dòng 2 bắt đầu thực thi nhưng thất bại; dòng 1 không có trong các lựa chọn, nên đáp án chốt là 2, tức dòng cuối cùng được thực thi, nơi chương trình dừng lại. Phương án "3" không bao giờ chạy vì chương trình đã dừng ở dòng 2; ngoài ra printf không tồn tại trong Python (hàm in là print), nên dù có tới được đây cũng ném NameError. Phương án "5" không được chạy tới, dù int('123') bản thân là hợp lệ và cho 123. Phương án "6" cũng không được chạy tới, và vì lại dùng printf nên nếu chạy cũng lỗi NameError.

Cùng phần 1

Xuất hiện trong 1 bộ đề