30/09/2018, 21:36

Thắc mắc về lệnh while trong python

mình mới học lập trình, khi học đến lệnh while thì mình thắc mắc về cái điều kiện của nó,
mong các bạn giải thích giùm

cái này không chạy

 while i != 0:
...     i = 0
...     print "daynhauhoc"

cái này chạy

 i = 1
while i != 0:
...     i = i - 1 # khi này i cũng bằng không
...     print "daynhauhoc"
Minh Mốc viết 23:44 ngày 30/09/2018

mình cũng mới bắt đầu học lập trình python. Ở vòng lặp đầu tiên (cái k chạy) bạn chưa gán giá trị cho biến i nên python k biết i trong vòng lặp là gì nên không chạy được @@ còn cái sau thì lúc đầu gán i= 1. Python ktra i khác 0? -> đúng -> chạy tiếp -> i=0-> in ra dòng kia. Sau đó ktra lại thì i=0 (k thỏa mãn dk) nên k chạy vòng lặp nữa

Sơn Vũ Xuân viết 23:39 ngày 30/09/2018

Bạn nghĩ đơn giản là nó không biết " i " là gì thì so sánh làm sao được.

Đẵng Nguyễn Quốc viết 23:51 ngày 30/09/2018

biến i phải được khai báo trước vòng while. Nếu ko khai báo nó sẽ mặc định là chưa khai báo hoặc sẽ là giá trị null. Chính vì vậy mà đoạn code ở trên cùng không chạy.

Tú Phạm viết 23:49 ngày 30/09/2018

bạn chưa khai báo biến i nên python không biết giá trị biến i nên không so sánh được -> báo lỗi

Bài liên quan
0