01/10/2018, 11:17
Logic error in python
Em học lập trình cũng được một thời gian rồi nhưng vẫn chưa biết logic error là gì. Lên mạng tìm thử thì cũng lỗi logic là khó sửa chữa nhất. Chúng xảy ra khi chương trình chạy mà không bị rơi, nhưng tạo ra kết quả không chính xác. Em đọc code này nhưng không biết nó lỗi ở đâu:
product = 0
for i in range(10):
product *= i
sum_squares = 0
for i in range(10):
i_sq = i**2
sum_squares += i_sq
nums = 0
for num in range(10):
num += num
Ai giải thích cho mình hiểu với!
Bài liên quan
Hãy tưởng tượng bàn làm toán. Ra kết quả số tròn, đẹp nhưng trật lất. Đó là Logic Error. Lí do vì sao nó khó fix nhất đó là vì chả ai thông báo cho bạn rằng đó là sai mục đích của bạn. Thế nên, bạn làm toán thì làm gì có cái lỗi nào thông báo ra, nhưng điểm thì chưa chắc 10.
Còn đoạn code thì nó không sai, nhưng kết quả thì không giống như bạn mong đợi. Về vấn đề vì sao thì nó đơn giản mà. Mình biết bạn có thể hiểu được nó. Chia mỗi cụm ra xem là biết thôi.
Good Luck
Hi An Thúy
product luôn bằng 0. Bạn cần khởi tạo nó bằng 1.
Thực ra bạn ko biết spec (ở đây là đề bài) hay ý đồ thì khó sửa lỗi kiểu này. Ngoài ra còn một dạng lỗi nữa là spec dở hơi hay … trớt quớt.