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

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". Nói thẳng chỗ tranh cãi: tính đúng nguyên văn biểu thức đang in thì nhân, chia và chia lấy dư cùng mức ưu tiên, tính từ trái sang phải: 2 * 3 = 6, 8 / 4 = 2.0 (ở Python 3 phép chia thường luôn cho số thực), 2.0 % 2 = 0.0, rồi 6 - 0.0 = 6.0, tức không có phương án nào đúng. Bộ phương án này thuộc câu gốc trong Python for Everybody với biểu thức x = 1 + 2 * 3 - 8 / 4: nhân chia trước cho 6 và 2.0, rồi cộng trừ trái sang phải 1 + 6 - 2.0 = 5.0, nên đáp án được giữ là 5 theo biểu thức gốc. "4" là kết quả nếu bỏ qua phần chia lấy dư của biểu thức đang in, tức 6 - 2.0 = 4.0, quên mất rằng 8 / 4 còn phải lấy dư cho 2. "2" chỉ là giá trị của riêng phép chia 8 / 4, chưa phải giá trị cả biểu thức. "1" không ứng với cách tính đúng thứ tự ưu tiên nào, dù theo biểu thức đang in hay biểu thức gốc.

Cùng phần 1

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