For the following code: astr = 'Hello Bob'

4 phương ánCó giải thích
Đề bài
istr = 0
try:
    istr = int(astr)
except:
    istr = -1

What will the value be for istr after this code executes?

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: "-1". Lần theo mã: istr được gán 0, rồi vào khối try gọi int(astr) với astr = 'Hello Bob'. Chuỗi này không biểu diễn số nguyên nên int() phát sinh ValueError; ngoại lệ làm phép gán istr = int(astr) không bao giờ hoàn tất, luồng chạy nhảy sang khối except, nơi istr được gán -1. Vì vậy sau đoạn mã istr bằng -1. Đây là mẫu try/except quen thuộc để chương trình không dừng khi người dùng nhập sai. "It will be the 'Not a number' value (i.e. NaN)" sai vì int() không trả về NaN khi gặp chuỗi lạ mà ném ngoại lệ; NaN là giá trị float đặc biệt, chỉ có qua float('nan') hay phép tính số thực. "It will be a random number depending on the operating system the program runs on" sai vì Python xử lý giống nhau trên mọi hệ điều hành và không sinh số ngẫu nhiên ở đây. "false" sai vì không có dòng nào gán giá trị bool; vả lại Python viết hằng này là False với chữ hoa đầu.

Cùng phần 1

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