cari

Rumah  >  Soal Jawab  >  teks badan

python - while(i%3)该怎么理解?

在看慕课的课程,有段代码为:

i = 1
while(i % 3): 
    print(i),
    if (i >= 10):
        break
    i += 1

while后面的条件要为真,才能够执行代码块,但是i%3这个代表了什么条件呢?

ringa_leeringa_lee2802 hari yang lalu2739

membalas semua(10)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:15:14

    % 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

    balas
    0
  • PHPz

    PHPz2017-04-18 10:15:14

    Isu sejarah, 0 adalah palsu, bukan 0 adalah benar, jadi while(i%3) bersamaan dengan while(i%3 != 0).

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 10:15:14

    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 .

    balas
    0
  • 阿神

    阿神2017-04-18 10:15:14

    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!

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:15:14

    Bukankah hasil daripada

    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整除的数吧?

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:15:14

    Mudah while(i%3) bermaksud melangkau gelung apabila saya boleh dibahagi dengan 3.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:15:14

    while (i % 3) { /* ... */ }

    bersamaan dengan

    while (i % 3 != 0) { /* ... */ }

    i % 3 dalam python ialah operasi pembahagian modular (modulo) Untuk operan integer a, b memenuhi a / b * b + a % b == a

    .

    a jika dan hanya jika b membahagikan a % b == 0 sama rata.

    Jadi syarat untuk penamatan gelung ialah i boleh dibahagikan 3

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:15:14

    while(i%3) 

    bermakna gelung berhenti apabila saya boleh dibahagikan dengan 3. 0 adalah palsu, dan bukan-0 adalah benar. Apabila i%3==0, tiada gelung.

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:15:14

    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.

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:15:14

    Apabila saya gelung sehingga boleh dibahagikan dengan 3, keluar dari gelung

    balas
    0
  • Batalbalas