28.7. Đoạn chương trình sau có lỗi không?m, n = 10, 4def f(a): k = n + m...
Câu hỏi:
28.7. Đoạn chương trình sau có lỗi không?
m, n = 10, 4
def f(a):
k = n + m + a
return k
f(5)
Câu trả lời:
Người trả lời: GV. Đỗ Thị Long
Để giải câu hỏi trên, ta cần nhận biết lỗi trong đoạn chương trình đã cho. Sau đó, ta sẽ phân tích lý do tại sao đoạn chương trình đó có lỗi.Đoạn chương trình đã cho:```pythonm, n = 10, 4def f(a): k = n + m + a return kf(5)```Phân tích:- Biến `m` và `n` được khai báo bên ngoài hàm `f()`, nghĩa là chúng là biến toàn cục và có thể được truy cập bên trong hàm `f()`.- Trong hàm `f()`, chương trình cố gắng thực hiện phép tính `k = n + m + a`. Tuy nhiên, biến `m` và `n` được truy cập bên trong hàm `f()` không qua tham số của hàm đó.- Khi gọi hàm `f(5)`, chương trình sẽ báo lỗi vì không thể truy cập giá trị của biến `m` và `n` mà không thông qua tham số của hàm.Câu trả lời cho câu hỏi là: Không, đoạn chương trình trên có lỗi. Các biến `m` và `n` được khai báo bên ngoài hàm f() nên không thể truy cập giá trị của chúng bên trong hàm mà không thông qua tham số của hàm. Để sửa lỗi này, ta có thể gửi giá trị của `m` và `n` vào hàm thông qua tham số.
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.6. Đoạn chương trình sau có lỗi không?m, n = 10, 4def f(a): n = 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)