30/09/2018, 18:33
True/False trong Python
Chào mọi người, mình mới học lập trình và mình đang phải học sử dụng Python. Mình muốn làm 1 bài tập đơn giản là xét xem 1 dãy số có đúng thứ tự tăng dần hay ko, nhưng có vẻ code của mình có vấn đề, khi chạy thì không hiển thị là true hay false và chỉ hiển thị dạy số đó. Mong mọi người giúp đỡ. mình viết thế này:
def ordonate(a):
suntOrdonate = True
i = 0
while suntOrdonate and i in range(0,len(a)-1) :
if a[i]> a[i+1]:
suntOrdonate = False
return suntOrdonate
a=[1,2,3,4,5]
print ordonate(a)
Đã được các bạn sửa, mình chỉnh lại và chạy thành công cảm ơn các bạn đã giúp đỡ:smile:
Bài liên quan
a
ở đâu ra vậy?thay a=b
Đầu tiên bạn bạn sửa:
Như vậy chương trình bạn vẫn sai về mặt thuật toán vì nếu bạn cho b là một dãy không tăng liên tục thì nó sẽ return False nhưng khi bạn cho b là dãy tăng thì lỗi
list index out of range
do khii = i + 1 = len(b) - 1
thì vòng lặp while sẽ chạy lần cuối vì điều kiệnif b[i] > b[i+1
] sẽ không so sánh được vì phần tử b[i+1] không tồn tại nó sẽ hiện lỗi trên!Ta sẽ sửa lại như sau
Sr do mình sửa nhiều quá nên loạn
WOW, vậy là lỗi thuật toán của mình. Cảm ơn IRis_Do nhiều nhé