17.11. Trong bài tập lập trình yêu cầu đổi giá trị của hai biến x, y được cho trước hai bạn Bình và An đã làm như sau:
Theo em, bạn nào làm đúng, bạn nào làm sai? Vì sao?
Bài Làm:
Bình sai, An đúng. Sau câu lệnh thứ nhất, giá trị của biến x trong chương trình của Bfinh bằng giá trị của biến y và do vậy chương trình của Bình cho kết quả cả hai biến x, y cùng có giá trị bằng giá trị biến y được cho từ trước. Trong chương trình của An, sau câu lệnh thứ nhất giá trị của x được lưu lại bằng biến z, sau khi thực hiện câu lệnh thứ hai giá trị của biến y được gán cho biến x; câu lệnh thứ ba trong chương trình của An gán giá trị của biến z (chính là giá trị của x đã được xác định từ tước). Lưu ý, trong Python có thể sử dụng câu lệnh gán sau để đổi giá trị của hai biến x, y cho trước: x, y = y, x.