% Operator selebihnya adalah untuk melihat sama ada yang terakhir boleh dibahagikan dengan yang pertama Syarat i%3 adalah untuk menentukan sama ada i boleh dibahagi dengan 3, jadi hanya terdapat dua keputusan: 0 atau 1 %3 = 0 10% 3 = 1, operator asas, pengarang boleh menyemak maklumat lanjut, terima kasih
Pertama sekali, mari kita lihat keadaan pernyataan while (i % 3 di tingkat atas ini menjelaskan bahawa % bermaksud mencari baki, dan i% 3 bermaksud mencari baki i dibahagikan dengan 3, jadi i maksud keadaan sementara ialah Baki selepas i bahagi dengan 3 adalah lebih besar daripada 0. Sekarang kita tahu bahawa nilai i ialah 1, jadi keadaan sementara ditetapkan, keluaran 1, selepas i++, nilai i ialah 2. Pada masa ini, keadaan while juga dipenuhi dan gelung mengeluarkan 2, Kemudian i++ Pada masa ini, nilai i ialah 3 dan tidak memenuhi syarat Gelung while tidak dilaksanakan dan melompat keluar .
Seperti yang ditanya oleh penyoal, syarat selepas sementara mesti benar untuk melaksanakan blok kod Jika nilai i%3 ialah 0, ia adalah palsu dan blok kod berikut tidak akan dilaksanakan jika ia bukan 0 (. 1 dan 2 ), ia bersamaan dengan benar, dan blok kod seterusnya dilaksanakan. Penyataan if juga adalah sama. ia adalah benar, dan ia dilaksanakan. Harap ini membantu!
i%3 mendapat baki Sebagai contoh, hasil daripada i=3 ialah 0 Hasil daripada i=5 ialah 2 dan apabila membuat pertimbangan bersyarat, ia akan ditukar secara automatik? kepada jenis Boolean, jadi ia tidak boleh dibahagikan dengan 3 boleh dikira, jadi sama ada 1 atau 2, ia boleh dimasukkan, jadi soalan ini sepatutnya mencari 找出10以内不能被3整除的数吧?
i%3 Pengiraan modul, terdapat tiga situasi: 0 1 2 Nilai dinilai benar atau salah mengikut NaN undefined null 0 "" false, semuanya palsu, dan selebihnya benar Pada masa ini, apabila modulus ialah 0, ia adalah palsu, ia tidak akan memasuki kitaran.
% Operator selebihnya adalah untuk melihat sama ada yang terakhir boleh dibahagikan dengan yang pertama Syarat i%3 adalah untuk menentukan sama ada i boleh dibahagi dengan 3, jadi hanya terdapat dua keputusan: 0 atau 1 %3 = 0 10% 3 = 1, operator asas, pengarang boleh menyemak maklumat lanjut, terima kasih
Isu sejarah, 0 adalah palsu, bukan 0 adalah benar, jadi
while(i%3)
bersamaan denganwhile(i%3 != 0)
.Pertama sekali, mari kita lihat keadaan pernyataan while (i % 3 di tingkat atas ini menjelaskan bahawa % bermaksud mencari baki, dan i% 3 bermaksud mencari baki i dibahagikan dengan 3, jadi i maksud keadaan sementara ialah Baki selepas i bahagi dengan 3 adalah lebih besar daripada 0.
Sekarang kita tahu bahawa nilai i ialah 1, jadi keadaan sementara ditetapkan, keluaran 1, selepas i++, nilai i ialah 2. Pada masa ini, keadaan while juga dipenuhi dan gelung mengeluarkan 2,
Kemudian i++ Pada masa ini, nilai i ialah 3 dan tidak memenuhi syarat Gelung while tidak dilaksanakan dan melompat keluar .
Seperti yang ditanya oleh penyoal, syarat selepas sementara mesti benar untuk melaksanakan blok kod Jika nilai i%3 ialah 0, ia adalah palsu dan blok kod berikut tidak akan dilaksanakan jika ia bukan 0 (. 1 dan 2 ), ia bersamaan dengan benar, dan blok kod seterusnya dilaksanakan. Penyataan if juga adalah sama. ia adalah benar, dan ia dilaksanakan. Harap ini membantu!
Bukankah hasil daripada
i%3
mendapat baki Sebagai contoh, hasil daripadai=3
ialah0
Hasil daripadai=5
ialah2
dan apabila membuat pertimbangan bersyarat, ia akan ditukar secara automatik? kepada jenis Boolean, jadi ia tidak boleh dibahagikan dengan 3 boleh dikira, jadi sama ada 1 atau 2, ia boleh dimasukkan, jadi soalan ini sepatutnya mencari找出10以内不能被3整除的数吧?
Mudah
while(i%3)
bermaksud melangkau gelung apabila saya boleh dibahagi dengan 3.bersamaan dengan
.i % 3
dalam python ialah operasi pembahagian modular (modulo) Untuk operan integera
,b
memenuhia / b * b + a % b == a
a
jika dan hanya jikab
membahagikana % b == 0
sama rata.Jadi syarat untuk penamatan gelung ialah
i
boleh dibahagikan3
bermakna gelung berhenti apabila saya boleh dibahagikan dengan 3. 0 adalah palsu, dan bukan-0 adalah benar. Apabila i%3==0, tiada gelung.
i%3 Pengiraan modul, terdapat tiga situasi: 0 1 2 Nilai dinilai benar atau salah mengikut NaN undefined null 0 "" false, semuanya palsu, dan selebihnya benar Pada masa ini, apabila modulus ialah 0, ia adalah palsu, ia tidak akan memasuki kitaran.
Apabila saya gelung sehingga boleh dibahagikan dengan 3, keluar dari gelung