Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Kecepatan mengetik rata-rata sekitar 40 kata per menit. Jika Anda ingin menjadi produktif dalam pekerjaan Anda, Anda harus mengetik setidaknya 65 hingga 70 kata per menit. Meningkatkan kecepatan mengetik Anda akan meningkatkan efisiensi Anda, yang akan meningkatkan tugas-tugas seperti entri data, copywriting, transkripsi, dan peran administratif.

Untuk menguji kemampuan mengetik Anda, Anda dapat membuat aplikasi tes mengetik sederhana menggunakan Python. Dengan menggunakan ini, Anda bisa mendapatkan hasil yang tepat dan mengembangkan kebiasaan adiktif untuk meningkat seiring waktu.

Modul Tkinter dan Acak

Untuk mengembangkan Game Tes Mengetik, Anda akan menggunakan tkinter modul dan acak modul. Tkinter memungkinkan Anda membuat aplikasi desktop. Ini menawarkan berbagai widget seperti tombol, label, kotak teks, dan pengelola tata letak yang memudahkan pengembangan aplikasi tanpa terlalu banyak usaha.

instagram viewer

Selain itu, ia hadir dengan perpustakaan yang bermanfaat, objek kanvas, dan parser HTML/XML/PDF. Untuk menginstal Tkinter ke sistem Anda, buka terminal dan jalankan:

pip Install tkinter

Modul Acak memiliki kumpulan fungsi untuk menghasilkan angka acak. Anda dapat menggunakan rutinitas ini untuk menghasilkan urutan yang diacak, pergerakan game, dan bilangan bulat acak semu. Beberapa kegunaan umumnya termasuk simulasi lemparan dadu, daftar pengocokan, a pembuat kata sandi acak, dan dalam game seperti kriket tangan dan menebak angka.

Cara Membangun Aplikasi Tes Mengetik Menggunakan Python

Ikuti langkah-langkah ini untuk membuat aplikasi tes pengetikan menggunakan modul Tkinter dan Random Python.

Anda dapat menemukan kode sumber Aplikasi Tes Mengetik Menggunakan Python dan file teks kata di sini repositori GitHub.

Mulailah dengan mengimpor modul Tkinter dan Random. Inisialisasi instance Tkinter dan tampilkan jendela root. Tetapkan dimensi dalam piksel, judul, dan warna latar belakang jendela.

dari tkinter impor *
impor acak
dari tkinter impor kotak pesan

Layar Utama = Tk()
Layar utama.geometri('1000x600')
Layar utama.judul('MakeUseOf Typing Game')
Layar utama.config(bg="air")

Unduh daftar kata dari repositori GitHub dan letakkan di folder yang sama dengan skrip Python untuk memudahkan referensi. Baca isi file teks dan gunakan fungsi split() untuk menyimpan setiap kata ke dalam daftar. Inisialisasi variabel skor, terlewat, dan hitung1 ke nol dan variabel waktu ke 60.

file1 = buka('kata.txt', 'R')
kata = file1.read().split()
skor = meleset = hitung1 = 0
waktu = 60

Tentukan fungsi bernama waktu tertentu() yang mereferensikan variabel global yang disebutkan di atas. Jika waktu yang tersisa lebih besar dari nol, kurangi dengan satu dan tampilkan pada label penghitung waktu (dinyatakan di bagian akhir kode). Menggunakan setelah() fungsi untuk memanggil kembali fungsi waktu yang diberikan () setelah penundaan 1.000 milidetik (satu detik).

Jika waktunya habis, ubah konten label awal menjadi Game Over dan sekaligus tampilkan skor pada label instruksi permainan. Lewati variabel yang sesuai ke format() berfungsi untuk menampilkan Hit, Miss, dan Total Score.

defwaktu tertentu():
global waktu, skor, terjawab

jika waktu > 0:
waktu -= 1
timercount.configure (teks = waktu)
hitungan waktu.setelah(1000, waktu tertentu)
kalau tidak:
startlabel.configure (teks='Permainan telah berakhir!')
gameinstruction.configure (text='Pukul = {} | Nona = {} | Skor Total = {}'.format (skor, tidak terjawab, skor - tidak terjawab))

Sampaikan judul dan pesan ke askokbatal() fungsi. Jika respons yang diterima pada kotak dialog bernilai benar, hentikan aplikasi menggunakan KELUAR() fungsi.

 rr = kotak pesan.askokcancel('Permainan telah berakhir!', 'Tekan Oke untuk Keluar')

jika rr == BENAR:
KELUAR()

Tentukan fungsi bernama permainan() yang mengambil acara sebagai argumen masukan. Referensi variabel global. Jika variabel waktu sama dengan 60, jalankan fungsi giventime() untuk memulai hitungan mundur. Saat game sedang berlangsung, ubah startlabel menjadi Continue dan gameinstruction label untuk menekan enter setelah mengetikkan kata menggunakan fungsi configure().

defpermainan(peristiwa):
global skor, ketinggalan

jika waktu == 60:
waktu tertentu()

startlabel.configure (teks='Melanjutkan..')
gameinstruction.configure (text='Tekan Enter Setelah Mengetik Kata')

Ambil kata yang diketik dalam entri kata menggunakan mendapatkan() berfungsi dan periksa apakah sama dengan kata yang ditampilkan di layar. Jika ya, tingkatkan skor dan refleksikan pada label skor. Jika tidak, tingkatkan variabel yang terlewat satu per satu.

Susun ulang item dalam daftar kata dan tampilkan elemen pertama. Menggunakan menghapus() berfungsi dari nol hingga indeks terakhir pada widget entri kata untuk menghapus konten.

jika wordentry.get() == labelforward['teks']:
skor += 1
scorelabelcount.configure (teks=skor)
kalau tidak:
ketinggalan += 1

acak.acak(kata-kata)
labelforward.configure (teks=kata[0])
entri kata.menghapus(0, AKHIR)

Atur startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount, dan petunjuk permainan menggunakan widget Label. Widget label mengambil jendela induk tempat Anda ingin meletakkannya, teks yang harus ditampilkan, jenis font, ukuran, warna, dan gaya bersama dengan warna latar belakang label.

Lewati koordinat X dan Y ke tempat() metode untuk mengatur label pada posisi tertentu.

startlabel = Label (Layar utama, teks='Permainan Mengetik',font=('Arial',30,'miring tebal'),bg='hitam',fg='putih')
startlabel.place (x=375, y=50)

labelforward = Label (Layar utama, teks=' ',font=('Arial',45,'miring tebal'),fg='hijau')
labelforward.place (x=350, y=240)

scorelabel = Label (Layar utama, teks='Nilai Anda:',font=('Arial',25,'miring tebal'),fg='merah tua')
label skor.tempat (x=110, y=100)

scorelabelcount = Label (Layar utama, teks=skor, font=('Arial',25,'miring tebal'),fg='ungu')
scorelabelcount.place (x=250, y=180)

labelfortimer = Label (Layar utama, teks='Waktu tersisa:',font=('Arial',25,'miring tebal'),fg='merah tua')
labelfortimer.place (x=700, y=100)

timercount = Label (Layar utama, teks=waktu, font=('Arial',25,'miring tebal'),fg='ungu')
timercount.place (x=700, y=180)

gameinstruction = Label (Layar utama, teks='Tekan Enter Setelah Mengetik Kata',font=('Arial',25,'miring tebal'),fg='abu-abu')
instruksi permainan.tempat (x=250, y=500)

Tentukan widget entri yang menerima kata yang Anda ketikkan. Atur jendela induk tempat Anda ingin meletakkannya, jenis font, ukuran, gaya bersama dengan ukuran batas dan properti pembenaran. Gunakan metode place() untuk memposisikan widget entri dan fokus_set() metode untuk mengaktifkan kotak entri untuk input.

wordentry = Entri (Layar utama, font=('Arial',25,'miring tebal'), bd=10, membenarkan='tengah')
wordentry.place (x=350, y=330)
entri kata.fokus_set()

Langkah penting adalah mengikat tombol Enter dengan acara di jendela Tkinter. Melakukan hal itu memastikan bahwa ketika pemain menekan Memasuki fungsi tertentu akan dieksekusi. Untuk mencapai ini, Anda lulus string dan fungsi game() sebagai parameter ke mengikat() fungsi. Itu mainloop() fungsi memberi tahu Python untuk menjalankan loop acara Tkinter dan mendengarkan acara (seperti penekanan tombol) hingga Anda menutup jendela.

Layar utama.bind('', permainan)
mainloop()

Gabungkan semua kode dan jalankan kode untuk memainkan game uji pengetikan di ujung jari Anda.

Output dari Aplikasi Tes Mengetik Python

Saat menjalankan program di atas, sebuah jendela muncul dengan lebar 1.000 piksel dan tinggi 600 piksel, dengan warna latar aqua, papan skor, penghitung waktu mundur, dan instruksi untuk memulai permainan.

Saat menekan Enter, permainan dimulai dan pada setiap jawaban yang benar, program menambah skor satu.

Saat waktunya habis, program menampilkan skor akhir bersama dengan kotak dialog untuk keluar dari permainan.

Ide Tkinter GUI untuk Pemula

Tkinter adalah alat yang sangat kuat yang dapat Anda gunakan untuk membangun aplikasi yang sederhana hingga berfungsi penuh yang menarik dan tangguh. Bahkan seorang pemula pun bisa menggunakan Tkinter. Beberapa contoh proyek yang dapat Anda buat adalah permainan kuis, buku alamat, daftar tugas, atau penampil gambar.

Jika Anda ingin melampaui Tkinter, beberapa alternatif populer termasuk desainer Qt, Kivy, Toga, dan BeeWare. Semua kerangka kerja ini serbaguna dan mendukung pengembangan lintas platform, sehingga Anda dapat menjalankan aplikasi tanpa kerumitan di lingkungan apa pun.