What will be the value of x after the following statement executes: x = 1 + 2 * 3 - 8 / 4

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: "5.0". Python tính theo thứ tự ưu tiên toán tử: nhân và chia làm trước cộng trừ, các phép cùng mức thì từ trái sang phải. Vì vậy 2 * 3 cho 6, còn 8 / 4 cho 2.0, vì trong Python 3 phép / luôn trả về số thực (float) kể cả khi chia hết; sau đó 1 + 6 - 2.0 bằng 5.0, và có một toán hạng float nên kết quả cũng là float. Phương án "3.0" đúng kiểu float nhưng sai giá trị, vì 1 + 6 bằng 7, trừ 2.0 phải còn 5.0. Phương án "15" không khớp với cách tính theo đúng quy tắc ưu tiên, lại là số nguyên trong khi phép / đã biến kết quả thành float. Phương án "4" cũng là số nguyên, và giá trị đúng là 5 chứ không phải 4; ngay cả khi muốn kết quả nguyên thì phải dùng phép chia lấy phần nguyên //, lúc đó biểu thức cho 5.

Cùng phần 1

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