28.6. Đoạn chương trình sau có lỗi không?m, n = 10, 4def f(a): n = n + m +...
Câu hỏi:
28.6. Đoạn chương trình sau có lỗi không?
m, n = 10, 4
def f(a):
n = n + m + a
return n
f(5)
Câu trả lời:
Người trả lời: GV. Đỗ Văn Dung
Có lỗi. Các biến m, n được khai báo bên ngoài hàm f(). Bên trong hàm có lệnh thực hiện coi n như một biến do đó sẽ có lỗi. Biến được khai báo bên ngoài hàm sẽ không có tác dụng bên trong hàm như một biến.
Để sửa lỗi này, ta có thể truyền biến m và n vào hàm f() như là tham số:
def f(a, m, n):
n = n + m + a
return n
Sau đó gọi hàm f(5, 10, 4), ta nhận được kết quả là 19.
Để sửa lỗi này, ta có thể truyền biến m và n vào hàm f() như là tham số:
def f(a, m, n):
n = n + m + a
return n
Sau đó gọi hàm f(5, 10, 4), ta nhận được kết quả là 19.
Câu hỏi liên quan:
- 28.1. Đ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(x...
- 28.2. Đ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...
- 28.3. Trong Python biến được khai báo và sử dụng bên trong một hàm được gọi là gì?A. Biến địa...
- 28.4. Có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm...
- 28.5. Khi khai báo hàm có tham số, các tham số này có thể coi là một biến địa phương của hàm hay...
- 28.7. Đoạn chương trình sau có lỗi không?m, n = 10, 4def f(a): k = n + m...
- 28.8. Đoạn chương trình sau sẽ in ra giá trị gì?def f(s): m =...
- 28.9. Mệnh đề nào dưới đây phát biểu sai về phạm vi tác dụng của biến trong Python?A. Biến được...
- 28.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(): ...
- 28.11. Viết hàm với đầu vào là list A, số thực x. Hàm cần trả về một list B thu được từ list A bằng...
- 28.12. Viết chương trình thực hiện các công việc sau, yêu cầu thực hiện lần lượt các công việc, mỗi...
Bình luận (0)