30/09/2018, 17:21
While-loop in Python
Hiện tại em đã xem xong 30 video của anh Đạt và trong khi chờ đợi anh Đạt làm những video tiếp theo thì em có tự tìm hiểu nhưng có 1 lỗi như sau:
Em dùng 1 function để định nghĩa 1 vòng lặp while nhưng khi đưa các biến vào thì cứ bị lặp liên tục và không thể kết thúc. Mấy anh cho em xin hướng giải quyết nha.
Code:
i = 0
numbers = []
n = raw_input("Can you give me a value random: ")
def count(*a):
i , bottom = a
while i < bottom:
print "At the top i is %d" % i
numbers.append(i)
i += 1
print "Numbers now: ", numbers
print "At the bottom i is %d" % i
count(i,n)
print "The numbers: "
for num in numbers:
print num
Cám ơn các anh.
Bài liên quan





Sau khi đọc code nhiều lần thì em biết em sai chổ là quên int(raw_input()) ^^!.
Hahaha anh góp ý nhé, anh chưa đọc code, em thử đặt
printđể xem giá trị của các biến và xem thử chương trình mình chạy tới đâu thì dễ debug hơnCám ơn anh.
Mà anh cho em hỏi 1 vấn đề là:
Tại sao khi em không int( raw_input() ) Tức là chỉ viết raw_input() thì vòng while nó cứ lặp liên tục.
Khi thêm int vào thì raw_input() có nghĩa là chỉ nhập số.
Em vẫn không hiểu là vì sao nó lại lặp không giới hạn như vậy.
Bởi vì khi đó
nlàstringchứ không phải làint. Khi em so sánhwhile i < bottomthì điều kiện này luôn đúng. Bởi vìintvàstringlà hai kiểu dữ liệu khác nhau, trong Python để so sánh hai kiểu dữ liệu khác nhau thì ta sẽ so sánh tên của hai kiểu dữ liệu này. Mà ta thấy"int" < "string", thế nêni < bottomvới bất kể giá trị nào.Không phải, khi ta thêm
intvào có nghĩa là taconvertgiá trị nhập vào thành số.Cám ơn anh rất nhiều.
Một số cách debug trong python khá hay nè.
http://ngochin.com/2013/03/08/debug-python/