Bài 28. Phạm vi của biến
Câu 28.10 trang 59 SBT Tin học 10: Chương trình sau có lỗi không? Nếu có, làm thế nào để sửa hết lỗi?
def f():
n = n + 1
return n
n = 15
a = f()
print(a)
Lời giải ngắn nhất
Có lỗi. Có thể sửa cho hết lỗi theo nhiều cách. Ví dụ.
Cách 1. Đưa n vào hàm số khi khai báo hàm f().
def f(n):
n = n + 1
return n
n = 15
a = f(n)
print(a)
Cách 2. Khai báo biến n là global trong hàm f().
def f():
global n
a = f()