Tajuk: Gunakan python untuk mencetak semua nombor genap dalam 100
Kod pertama:
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
Hasil pelaksanaan kod: nombor cetakan tak terhingga 2
Kod kedua:
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
i = 2*n
Hasil pelaksanaan kod: dicetak dengan betul
Soalan saya:
Mengapa hasil dicetak oleh sekeping kod pertama salah, tetapi sekeping kod kedua hanya menambah i=2*n pada gelung while dan hasilnya betul? Adakah mungkin dalam sekeping kod pertama, di mana n+=1, n tidak boleh menukar nilai i manakala n sentiasa menambah 1? kenapa?
Dalam gelung, ia akan berubah tanpa melaksanakan perubahan
.i = 2*n
,它的值又怎么会改变. 只有执行了相应的语句,才会改变的.初始赋值
i = 2*n
,i
的值不会动态的随n
Ia akan berubah hanya jika pernyataan yang sepadan dilaksanakanYa, menambah 1 pada n dalam sekeping kod pertama tidak mengubah nilai i, i sentiasa 2.
Selagi syarat memuaskan Benar, ia akan terus gelung.
Keadaan perenggan pertama sentiasa i < 100, iaitu 2 <