


Bagaimana untuk Menghantar Hujah Unik kepada Perintah dalam Gelung Butang Tkinter?
Mencipta Butang Secara Program dalam tkinter dengan Argumen Perintah Unik
Tugas yang ada ialah menjana beberapa butang dalam antara muka tkinter menggunakan gelung for . Setiap butang harus mengandungi hujah perintah unik yang mewakili kiraan lelaran semasa. Walau bagaimanapun, kod sedia ada menghasilkan butang dengan nilai cetakan yang konsisten, menunjukkan kemungkinan isu dengan penugasan hujah perintah.
Isu: Menghilang Nilai Lelaran
Kod yang disediakan mencipta butang dengan tajuk daripada "Permainan 1" hingga "Permainan 3." Apabila mengklik mana-mana butang ini, nilai yang dicetak sentiasa 2, sepadan dengan kiraan lelaran terakhir. Ini menunjukkan bahawa argumen perintah dianggap sebagai satu entiti, dan bukannya dikaitkan dengan setiap butang individu.
Penyelesaian: Mengekalkan Nilai Lelaran
Kunci kepada menyelesaikan isu ini terletak pada mengekalkan nilai lelaran semasa (i) apabila menentukan arahan untuk setiap butang. Untuk mencapai matlamat ini, ungkapan lambda yang diubah suai diperlukan:
command=lambda i=i: self.open_this(i)
Ungkapan lambda ini memberikan nilai semasa i kepada pembolehubah bernama i. Ini memastikan bahawa nilai i ditangkap dan dilampirkan pada butang tertentu pada masa penciptaan. Akibatnya, setiap butang akan mempunyai akses kepada kiraan lelaran uniknya.
Memahami Penutupan Lambda
Dengan menggunakan i=i, penutupan menyimpan nilai semasa i pada masa lambda ditakrifkan, dan bukannya bergantung pada nilai i pada masa fungsi dipanggil. Ini mengekalkan maklumat yang diperlukan untuk setiap butang.
Kod Tetap
Dengan pengubahsuaian yang dinyatakan di atas, kod yang diperbetulkan muncul seperti berikut:
def createGameURLs(self): self.button = [] for i in range(3): self.button.append(Button(self, text='Game '+str(i+1), command=lambda i=i: self.open_this(i))) self.button[i].grid(column=4, row=i+1, sticky=W) def open_this(self, myNum): print(myNum)
Sekarang, apabila mengklik mana-mana butang, kiraan lelaran yang sepadan akan dicetak dengan tepat, menyelesaikan isu.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Hujah Unik kepada Perintah dalam Gelung Butang Tkinter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Tomergelistsinpython, operator youCanusethe, extendmethod, listcomprehension, oritertools.chain, eachwithspecificadvantages: 1) operatorSimpleButlessefficientficorlargelists;

Dalam Python 3, dua senarai boleh disambungkan melalui pelbagai kaedah: 1) Pengendali penggunaan, yang sesuai untuk senarai kecil, tetapi tidak cekap untuk senarai besar; 2) Gunakan kaedah Extend, yang sesuai untuk senarai besar, dengan kecekapan memori yang tinggi, tetapi akan mengubah suai senarai asal; 3) menggunakan * pengendali, yang sesuai untuk menggabungkan pelbagai senarai, tanpa mengubah suai senarai asal; 4) Gunakan itertools.chain, yang sesuai untuk set data yang besar, dengan kecekapan memori yang tinggi.

Menggunakan kaedah Join () adalah cara yang paling berkesan untuk menyambungkan rentetan dari senarai di Python. 1) Gunakan kaedah Join () untuk menjadi cekap dan mudah dibaca. 2) Kitaran menggunakan pengendali tidak cekap untuk senarai besar. 3) Gabungan pemahaman senarai dan menyertai () sesuai untuk senario yang memerlukan penukaran. 4) Kaedah mengurangkan () sesuai untuk jenis pengurangan lain, tetapi tidak cekap untuk penyambungan rentetan. Kalimat lengkap berakhir.

PythonexecutionistheprocessoftransformingpythoncodeIntoExecutableInstructions.1) TheinterpreterreadsTheCode, convertingIntoByteCode, yang mana -mana

Ciri -ciri utama Python termasuk: 1. Sintaks adalah ringkas dan mudah difahami, sesuai untuk pemula; 2. Sistem jenis dinamik, meningkatkan kelajuan pembangunan; 3. Perpustakaan standard yang kaya, menyokong pelbagai tugas; 4. Komuniti dan ekosistem yang kuat, memberikan sokongan yang luas; 5. Tafsiran, sesuai untuk skrip dan prototaip cepat; 6. Sokongan multi-paradigma, sesuai untuk pelbagai gaya pengaturcaraan.

Python adalah bahasa yang ditafsirkan, tetapi ia juga termasuk proses penyusunan. 1) Kod python pertama kali disusun ke dalam bytecode. 2) Bytecode ditafsirkan dan dilaksanakan oleh mesin maya Python. 3) Mekanisme hibrid ini menjadikan python fleksibel dan cekap, tetapi tidak secepat bahasa yang disusun sepenuhnya.

UseAforLoopWheniteratingOvereForforpecificNumbimes; Useaphileloopwhencontinuinguntilaconditionismet.forloopsareidealforknownownsequences, sementara yang tidak digunakan.

Pythonloopscanleadtoerrorslikeinfiniteloops, pengubahsuaianListsduringiteration, off-by-oneerrors, sifar-indexingissues, andnestedloopinefficies.toavoidthese: 1) use'i


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Dreamweaver Mac版
Alat pembangunan web visual
