Chương trình sau có lỗi không? Nếu có, làm thế nào để sửa hết lỗi
Chương trình sau có lỗi không? Nếu có, làm thế nào để sửa hết lỗi?
Giải sách bài tập Tin học 10 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:
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
n = n + 1
return n
n = 15
a = f()
print(a)