Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Menggunakan runtime pelayar selamat tanpa rangkaian atau akses fail

Tetingkap latihan yang menjalankan kod anda memang berguna, tetapi hanya jika anda tahu apa yang akan ditolaknya.

Dalam halaman ini
  1. Apakah yang dibenarkan dan ditolak oleh runtime terhad?
  2. Contoh berlangkah
  3. Kesilapan yang perlu diwaspadai
  4. Semak kendiri
  5. Ke mana pelajaran ini membawa

Runtime selamat menjalankan kepingan Python pendek dalam pelayar anda tanpa akses rangkaian atau akses fail, dan menghentikan sebarang program yang berjalan terlalu lama. Ia tempat untuk menguji penaakulan anda, bukan komputer penuh.

Pelajaran ini sebahagian daripada peralihan ke Python dan pelaksanaan dan bergantung pada membezakan ralat sintaks daripada keputusan salah.

Apakah yang dibenarkan dan ditolak oleh runtime terhad?

DibenarkanDitolak atau di luar tujuannya
Pemboleh ubah, aritmetik, perbandinganMembuka atau menyimpan fail
if, elif, elseMenggunakan internet
Gelung for dan whileGelung tanpa henti (dihentikan oleh had)
Senarai, fungsi, printPerpustakaan berat dan data besar

Kotak pasir penaakulan Python kami dibina dengan had masa dan had memori, jadi program yang tidak pernah tamat dihentikan dan bukan membekukan halaman. Kami tidak menganggap mana-mana runtime pelayar sebagai selamat sepenuhnya, jadi jauhkan data peribadi sebenar daripadanya.

Contoh berlangkah

Tugasan: cetak kiraan detik ke belakang bermula dari 10 dengan langkah 3. Ini percubaan pertama.

n = 10
while n > 0:
    print(n)

Langkah 1, jejak. n bermula pada 10. Ujian 10 > 0 ialah True, jadi 10 dicetak. Tiada apa-apa mengubah n, jadi ujian True lagi, dan 10 dicetak lagi, selama-lamanya.

Langkah 2, jangka had. Runtime menghentikan program apabila had masanya dicapai. Outputnya ialah senarai panjang 10 diikuti mesej henti. Runtime menghentikannya ialah tingkah laku yang betul, dan kesalahan itu milik anda.

Langkah 3, baiki. Gelung mesti menggerakkan n ke arah keluar.

n = 10
while n > 0:
    print(n)
    n = n - 3

Langkah 4, jejak semula.

n pada ujiann > 0dicetakn selepas
10True107
7True74
4True41
1True1-2
-2False

Outputnya ialah 10, 7, 4, 1.

Kesilapan yang perlu diwaspadai

Satu kesilapan kerap ialah menulis latihan yang bergantung pada fail.

Jawapan yang tersilap: lines = open("scores.txt").read()

Runtime tiada akses fail, jadi ini gagal. Kesilapan terletak pada reka bentuk latihan, bukan pada logik anda.

Pembetulannya ialah meletakkan data dalam program itu sendiri: scores = [72, 45, 50, 38, 91]. Algoritmanya sama sama ada nombor datang daripada fail atau senarai, dan dalam peperiksaan anda menaakul tentang algoritma. Gunakan nilai rekaan sahaja.

Semak kendiri

1. Mengapa while True: tanpa jalan keluar tidak membekukan halaman dalam sandbox?

Lihat jawapan

Runtime mempunyai had masa dan menghentikan program apabila had dicapai, kemudian menunjukkan mesej.

2. Tulis semula ini supaya berfungsi tanpa fail: names = open("class.txt").read().

Lihat jawapan

names = ["Ali", "Mei", "Ravi"]. Gunakan nama rekaan, dan baki algoritma kekal tidak berubah.

3. Apakah output program ini?

n = 2
while n < 30:
    n = n * 3
print(n)
Lihat jawapan

n menjadi 2, kemudian 6, kemudian 18, kemudian 54. Pada 54 ujian 54 < 30 ialah False, jadi gelung berhenti. Output: 54.

Ke mana pelajaran ini membawa

Seterusnya, lihat mengapa nasihat tahun peperiksaan mesti dilabelkan dalam mengasingkan panduan Python sahaja 2029. Latih penjejakan gelung dalam pelatih jejak pseudokod terhad dan jalankan logik yang sama dalam kotak pasir penaakulan Python.

Jika anda mahu latihan berpandu tentang gelung dan pengujian, lihat tuisyen Sains Komputer dalam talian satu dengan satu kami.

Soalan lazim

Mengapa sandbox tidak boleh membaca fail atau menggunakan internet?

Ia dibina untuk menjalankan latihan pendek tanpa akses rangkaian atau sistem fail, jadi kod anda tidak boleh menghantar atau mengambil apa-apa. Latihan mesti membawa data sendiri, contohnya dalam senarai yang ditulis di dalam kod.

Adakah sandbox pemasangan Python yang lengkap?

Tidak. Ia bertujuan untuk latihan penaakulan kecil, dengan had masa dan memori. Ciri yang memerlukan fail, rangkaian atau perpustakaan besar berada di luar tujuannya, jadi semak apa yang diperlukan latihan sebelum anda bergantung padanya.

Patutkah saya memasukkan butiran peribadi ke dalam sandbox?

Tidak. Gunakan nilai rekaan seperti nama Ali atau Mei dan markah rekaan. Anggap mana-mana tetingkap latihan sebagai tempat untuk data contoh sahaja, dan jangan tampal kata laluan, nombor pengenalan atau butiran hubungan sebenar.

Dikemas kini:

Langkah seterusnya

Jika anda tidak pasti cara menukar soalan fail atau input kepada sesuatu yang boleh dijalankan runtime kecil, guru satu dengan satu boleh menunjukkan cara memodelkannya dengan senarai.

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.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami