Bài 28. Phạm vi của biến
Câu 28.2 trang 57 SBT Tin học 10: Đoạn chương trình sau có lỗi không? Nếu không kết quả lệnh print() sẽ in ra số nào?
def f(a):
n = a + 1
n = (3*n+1) **2
return n
f(1)
print(n)
Lời giải ngắn nhất
Có lỗi. Chương trình có lỗi vì không nhận biết được biến n. Biến n có trong hàm f() chỉ có tác dụng bên trong hàm nhưng không có tác dụng bên ngoài hàm f().