Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Povprečna hitrost tipkanja je okoli 40 besed na minuto. Če želite biti produktivni pri svojem delu, si morate prizadevati za tipkanje vsaj 65 do 70 besed na minuto. Povečanje hitrosti tipkanja bo izboljšalo vašo učinkovitost, kar bo povečalo naloge, kot so vnos podatkov, pisanje besedil, prepisovanje in skrbniške vloge.

Če želite preizkusiti svoje veščine tipkanja, lahko s Pythonom sestavite preprosto aplikacijo za testiranje tipkanja. Z uporabo tega lahko dobite natančne rezultate in razvijete navado, ki povzroča odvisnost, da se sčasoma izboljša.

Moduli Tkinter in Random

Če želite razviti igro Test tipkanja, boste uporabili tkinter modul in naključen modul. Tkinter omogoča ustvarjanje namiznih aplikacij. Ponuja različne pripomočke, kot so gumbi, oznake, besedilna polja in upravitelji postavitev, ki olajšajo razvoj aplikacij brez prevelikega truda.

Poleg tega prihaja s koristnimi knjižnicami, predmeti platna in razčlenjevalniki HTML/XML/PDF. Če želite namestiti Tkinter v svoj sistem, odprite terminal in izvedite:

pip namestite tkinter

Modul Random ima zbirko funkcij za generiranje naključnih števil. Te rutine lahko uporabite za ustvarjanje premešanih zaporedij, gibov igre in psevdonaključnih celih števil. Nekatere njegove pogoste uporabe vključujejo simulacijo metanja kock, mešanje seznamov, a generator naključnih gesel, in v igrah, kot so ročni kriket in ugibanje številk.

Kako zgraditi aplikacijo za preizkus tipkanja s Pythonom

Sledite tem korakom, da ustvarite aplikacijo za preizkus tipkanja z uporabo modula Python Tkinter in Random.

Tukaj lahko najdete izvorno kodo aplikacije Typing Test Using Python in besedno besedilno datoteko Repozitorij GitHub.

Začnite z uvozom modula Tkinter in Random. Inicializirajte primerek Tkinter in prikažite korensko okno. Nastavite dimenzije v slikovnih pikah, naslov in barvo ozadja okna.

od tkinter uvoz *
uvoz naključen
od tkinter uvoz sporočilno polje

Glavni zaslon = Tk()
Mainscreen.geometry('1000 x 600')
Mainscreen.title(Igra "MakeUseOf Typing")
Mainscreen.config(bg="aqua")

Prenesite seznam besed iz repozitorija GitHub in ga postavite v isto mapo kot skript Python za enostavno sklicevanje. Preberite vsebino besedilne datoteke in uporabite funkcijo split(), da shranite vsako besedo na seznam. Inicializirajte spremenljivke rezultat, zgrešeno in štetje1 na nič, spremenljivko časa pa na 60.

datoteka1 = odpri('words.txt', 'r')
besede = file1.read().split()
rezultat = zgrešeno = štetje1 = 0
čas = 60

Določite funkcijo z imenom dani čas() ki se sklicuje na zgoraj omenjene globalne spremenljivke. Če je preostali čas večji od nič, ga zmanjšajte za eno in ga prikažite na oznaki timercount (navedeno v kasnejši polovici kode). Uporabi po() funkcija za ponovni klic funkcije giventime() po zakasnitvi 1000 milisekund (ena sekunda).

Če je čas potekel, spremenite vsebino začetne oznake v Igra je končana in istočasno prikažite rezultat na nalepki z navodili za igro. Posredujte ustrezne spremenljivke v format() funkcijo za prikaz zadetka, zgrešenega in skupnega rezultata.

defdanem času():
globalno čas, rezultat, zgrešeno

če je čas > 0:
čas -= 1
timercount.configure (besedilo=čas)
timercount.po(1000, danem času)
drugače:
startlabel.configure (besedilo='Konec igre!')
gameinstruction.configure (text='Zadetek = {} | Gospodična = {} | Skupni rezultat = {}'.format (rezultat, zgrešen, rezultat - zgrešen))

Posredujte naslov in sporočilo vprašaj prekliči() funkcijo. Če je odgovor, prejet v pogovornem oknu, ocenjen kot resničen, zaustavite aplikacijo z uporabo izhod() funkcijo.

 rr = messagebox.askokcancel('Konec igre!', "Pritisnite OK za izhod")

če rr == Prav:
izhod()

Določite funkcijo z imenom igra() ki sprejme dogodek kot vhodni argument. Sklicevanje na globalne spremenljivke. Če je časovna spremenljivka enaka 60, izvedite funkcijo giventime(), da začnete odštevanje. Ko je igra v teku, spremenite začetno oznako v Nadaljuj in oznako navodil za igro, da pritisnete enter po vnosu besede s funkcijo configure().

defigra(dogodek):
globalno rezultat, zgrešen

če je čas == 60:
dani čas()

startlabel.configure (besedilo='Nadaljuj..')
gameinstruction.configure (text='Po vnosu besede pritisnite Enter')

Pridobite besedo, vneseno v wordentry z uporabo dobiti () in preverite, ali je enaka besedi, prikazani na zaslonu. Če da, povečajte rezultat in ga odražajte na oznaki rezultata. V nasprotnem primeru povečajte zgrešeno spremenljivko za eno.

Preuredite elemente na seznamu besed in prikažite prvi element. Uporabi izbrisati() funkcijo od nič do zadnjega indeksa v gradniku za vnos besed, da počistite vsebino.

če wordentry.get() == labelforward['besedilo']:
rezultat += 1
scorelabelcount.configure (besedilo=rezultat)
drugače:
zgrešeno += 1

naključen.mešaj(besede)
labelforward.configure (besedilo=besede[0])
vnos besedila.izbriši(0, KONEC)

Z gradnikom Label nastavite startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount in game instruction. Pripomoček za oznako zajema nadrejeno okno, v katerega ga želite postaviti, besedilo, ki naj bi ga prikazal, vrsto pisave, velikost, barvo in slog ter barvo ozadja oznake.

Posredujte koordinate X in Y v mesto() način organiziranja oznak na določenem mestu.

startlabel = Oznaka (glavni zaslon, besedilo="Igra tipkanja",pisava=('arial',30,'ležeče krepko'),bg='Črna',fg='belo')
startlabel.place (x=375, y=50)

labelforward = Oznaka (glavni zaslon, besedilo=' ',pisava=('arial',45,'ležeče krepko'),fg='zelena')
labelforward.place (x=350, y=240)

scorelabel = Oznaka (glavni zaslon, besedilo='Vaš rezultat:',pisava=('arial',25,'ležeče krepko'),fg=kostanjeva)
scorelabel.place (x=110, y=100)

scorelabelcount = Oznaka (glavni zaslon, text=rezultat, pisava=('arial',25,'ležeče krepko'),fg='vijolična')
scorelabelcount.place (x=250, y=180)

labelfortimer = Oznaka (glavni zaslon, besedilo='Preostali čas:',pisava=('arial',25,'ležeče krepko'),fg=kostanjeva)
labelfortimer.place (x=700, y=100)

timercount = Oznaka (glavni zaslon, besedilo=čas, pisava=('arial',25,'ležeče krepko'),fg='vijolična')
timercount.place (x=700, y=180)

gameinstruction = Oznaka (glavni zaslon, besedilo='Po vnosu besede pritisnite Enter',pisava=('arial',25,'ležeče krepko'),fg='siva')
gameinstruction.place (x=250, y=500)

Določite pripomoček za vnos, ki sprejme besedo, ki jo vnesete. Nastavite nadrejeno okno, v katerega ga želite postaviti, vrsto pisave, velikost, slog skupaj z velikostjo obrobe in lastnostjo poravnave. Uporabite metodo place(), da postavite gradnik za vnos in focus_set() način za aktiviranje vnosnega polja za vnos.

wordentry = Vnos (glavni zaslon, pisava=('arial',25,'ležeče krepko'), bd=10, utemelji ='center')
wordentry.place (x=350, y=330)
vnos besedila.focus_set()

Pomemben korak je povezovanje tipke Enter z dogodkom v oknu Tkinter. S tem zagotovite, da ko igralec pritisne Vnesite določena funkcija bi se izvajala. Če želite to doseči, opravite niz in igra() delujeta kot parametra za vezati() funkcijo. The glavna zanka() funkcija pove Pythonu, naj zažene zanko dogodkov Tkinter in posluša dogodke (kot so pritiski gumbov), dokler ne zaprete okna.

Mainscreen.bind('', igra)
glavna zanka()

Sestavite vso kodo in zaženite kodo, da igrate testno igro tipkanja na dosegu roke.

Izhod aplikacije Python Typing Test

Ko zaženete zgornji program, se prikaže okno, ki je široko 1000 slikovnih pik in visoko 600 slikovnih pik, z vodno barvo ozadja, semaforjem, odštevalnikom in navodilom za začetek igre.

Ko pritisnete Enter, se igra začne in za vsak pravilen odgovor program poveča rezultat za ena.

Ko se čas izteče, program prikaže končni rezultat skupaj s pogovornim oknom za izhod iz igre.

Ideje za GUI Tkinter za začetnike

Tkinter je zelo zmogljivo orodje, ki ga lahko uporabite za izdelavo preprostih do popolnoma funkcionalnih aplikacij, ki so privlačne in robustne. Tudi novinec lahko uporablja Tkinter. Nekaj ​​vzorčnih projektov, ki jih lahko sestavite, je igra kviza, imenik, seznam opravil ali pregledovalnik slik.

Če želite preseči Tkinter, nekaj priljubljenih alternativ vključuje Qt designer, Kivy, Toga in BeeWare. Vsa ta ogrodja so vsestranska in podpirajo razvoj na več platformah, tako da lahko svoje aplikacije izvajate brez težav v katerem koli okolju.