Terus ke kandungan
IGCSE·Tuition

Alat

Kotak pasir penaakulan Python selamat

Kod Python boleh berjalan tanpa ralat namun mencetak jawapan yang salah, dan di situlah kebanyakan markah hilang.

Dalam halaman ini
  1. Bagaimana menggunakannya?
  2. Bagaimana membaca keputusan?
  3. Contoh langkah demi langkah
  4. Apakah andaian dan had alat ini?
  5. Pelajaran mana yang menerangkan keputusan?

Semua yang anda masukkan kekal pada peranti ini. Tiada apa-apa dihantar kepada kami.

Halaman ini mengandungi penterjemah kecil seakan-Python dan lima latihan pendek. Anda menjalankan kod, alat membandingkan output dengan output dijangka, dan jika ujian gagal ia memberi soalan untuk difikirkan.

Ia untuk membina tabiat menaakul tentang kod, selain menjalankannya.

Bagaimana menggunakannya?

  1. Pilih latihan. Baca ringkasan satu baris, contohnya “Atur cara sepatutnya mencetak 15.”
  2. Ramal output sebelum anda menyentuh butang. Tulis apa yang anda fikir akan muncul.
  3. Tekan Jalankan dan uji. Set semula mengembalikan latihan pertama.
  4. Baca keputusan. Jika lulus, cuba terangkan mengapa. Jika gagal, gunakan soalan “Fikirkan”, baiki kod dalam kotak teks dan jalankan semula.

Sorok dengan ruang. Subset yang disokong disenaraikan di bawah kotak kod: + - * / // % **, perbandingan, and/or/not, print(), int(), str(), abs(), len(), min(), max(), if/elif/else, while, for … in range(…), break dan continue.

Bagaimana membaca keputusan?

Anda melihat output anda di sebelah kiri dan output dijangka di sebelah kanan, dengan mesej sama ada ia sepadan. Di bawahnya ialah bilangan langkah yang dilaksanakan dan pemboleh ubah pada akhir.

Jika had keselamatan menghentikan kod, amaran muncul di atas perbandingan. Atur cara yang dihentikan masih menunjukkan apa yang dicetaknya sebelum had, dan ini sering cukup untuk mengesan coraknya.

Contoh langkah demi langkah

Buka Jumlah 1 hingga 5 (ada pepijat). Kod menambah n daripada range(1, 5) ke dalam total dan mencetaknya. Output dijangka ialah 15.

Jalankan. Output ialah 10 dan ujian gagal. Baca soalan pertama: nombor apakah yang dihasilkan range(1, 5)?

Ia menghasilkan 1, 2, 3, 4, kerana nilai henti tidak disertakan. Jadi total ialah 1 + 2 + 3 + 4 = 10, bukan 15.

Tukar nilai henti kepada 6 dan jalankan semula. Nombornya 1 hingga 5, jumlahnya 15 dan ujian lulus.

Seterusnya buka Menggandakan sehingga melebihi 50. Mulakan dengan x = 1 dan gandakan selagi x <= 50. Nilainya 2, 4, 8, 16, 32, 64.

Pada 64 syarat menjadi palsu, jadi gelung tamat dan 64 dicetak. Syarat menyemak nilai sebelum menggandakan, sebab itu nilai akhir melebihi 50.

Kemudian cuba Gelung rosak: while True. Ia mencetak 0 tanpa henti, jadi alat menghentikannya pada had. Ringkasannya meminta anda menjadikannya mencetak 0, 1, 2. Ubah gelung supaya n bertambah setiap pusingan dan berhenti apabila n mencapai 3, kemudian jalankan.

Apakah andaian dan had alat ini?

  • Ia subset Python. Pembahagian dengan / mencetak hasil nombor bulat tanpa “.0”.
  • Tiada fungsi buatan pengguna, senarai, kaedah rentetan atau import.
  • Atur cara dihadkan kepada 60 baris dan output kepada 200 baris.
  • Gelung tidak terkawal berhenti pada 5000 langkah atau 300 ms.
  • Ia tidak boleh melihat atau mengubah sebarang fail, dan tidak membuat permintaan rangkaian.
  • Ia latihan asli sahaja. Ia bukan persekitaran peperiksaan dan tidak menanda kerja yang dinilai.

Pelajaran mana yang menerangkan keputusan?

Untuk gelung, baca membaiki ralat off-by-one, yang menerangkan tepat kesilapan range(1, 5) di atas. Tabiat meramal diajar dalam menerangkan keputusan dijangka sebelum menjalankan kod, dan mengenal pasti cabang yang belum diuji menunjukkan apa yang tidak dibuktikan oleh satu ujian yang lulus.

Untuk mengikuti nilai melalui fungsi, lihat menjejak nilai yang dipulangkan. Laluan penuh ada dalam peralihan Python dan pelaksanaan.

Jika anda mahu guru menyemak gelung dan ujian anda bersama, lihat tuisyen Computer Science satu-lawan-satu dalam talian. Latihan jejak pseudokod ialah pasangan yang baik, dan lebih banyak alat ada dalam direktori alat pembelajaran.

Soalan lazim

Adakah ini Python sebenar?

Ia penterjemah kecil untuk subset seakan-Python yang berjalan dalam halaman ini. Ia menyokong pemboleh ubah, aritmetik, perbandingan, print, if/elif/else, while, for dengan range, break dan continue, serta beberapa fungsi terbina dalam. Tiada fungsi buatan sendiri, senarai, import atau akses fail. Semak sukatan semasa untuk Python yang dijangka bagi tahun peperiksaan anda.

Apa berlaku jika gelung saya tidak tamat?

Penterjemah mengira setiap langkah dan juga memerhati jam. Pada 5000 langkah atau 300 milisaat, ia menghentikan kod anda, memberitahu anda, dan memastikan halaman kekal responsif. Kemudian tanya soalan yang berguna: apa dalam gelung yang mengubah perkara yang disemak syarat?

Bolehkah kotak pasir menyentuh fail atau internet saya?

Ia tidak menyediakan sebarang ciri fail, rangkaian atau import, jadi kod yang anda taip tiada apa untuk dicapai. Kami tidak mendakwa ini sempadan keselamatan rasmi. Ia cuma tiada ciri berbahaya, jadi gunakan untuk latihan pendek sahaja.

Mengapa alat menunjukkan output dijangka?

Supaya anda boleh menguji ramalan anda. Amalan yang baik ialah menulis apa yang anda fikir akan dicetak sebelum menjalankan. Jika alat menyatakan ujian gagal, soalan di bawah keputusan menunjuk anda kepada baris untuk dijejak semula.

Sumber rujukan

  1. Laman sukatan Cambridge IGCSE Computer Science 0478

Dikemas kini:

Langkah seterusnya

Jika anda boleh menulis kod yang berjalan tetapi tidak dapat menerangkan mengapa nilainya salah, guru satu-lawan-satu boleh menelusuri gelung anda bersama dan membina tabiat meramal dahulu.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

9,000+ pelajar telah dibantu melalui perkhidmatan kami