Az átlagos gépelési sebesség körülbelül 40 szó percenként. Ha produktív akar lenni a munkájában, törekedjen arra, hogy percenként legalább 65-70 szót gépeljen. A gépelési sebesség növelése javítja a hatékonyságot, ami növeli az olyan feladatokat, mint az adatbevitel, a szövegírás, az átírás és az adminisztratív szerepkörök.
Gépelési készségeinek teszteléséhez készíthet egy egyszerű gépelésteszt-alkalmazást a Python segítségével. Ennek használatával pontos eredményeket érhet el, és függőséget okozó szokást alakíthat ki, amely idővel javul.
A Tkinter és a Random modulok
A Typing Test Game fejlesztéséhez használja a tkinter modul és a véletlen modult. A Tkinter lehetővé teszi az asztali alkalmazások létrehozását. Számos widgetet kínál, például gombokat, címkéket, szövegdobozokat és elrendezéskezelőket, amelyek megkönnyítik az alkalmazások fejlesztését túl sok erőfeszítés nélkül.
Ezeken kívül hasznos könyvtárakat, vászonobjektumokat és HTML/XML/PDF elemzőket tartalmaz. A Tkinter rendszerbe való telepítéséhez nyissa meg a terminált, és futtassa:
csipog telepítés tkinter
A Véletlenszerű modul számos függvényt tartalmaz véletlen számok generálására. Ezekkel a rutinokkal kevert sorozatokat, játékmozgásokat és pszeudo-véletlen egész számokat hozhat létre. Néhány általános felhasználási területe a kockadobások szimulációja, a keverési listák, stb véletlenszerű jelszógenerátor, és olyan játékokban, mint kézi tücsök és a számkitalálás.
Hogyan készítsünk gépelési tesztalkalmazást Python használatával
Kövesse ezeket a lépéseket egy gépelési tesztalkalmazás elkészítéséhez a Python Tkinter és Random moduljával.
Ebben megtalálod a Typing Test App With Python forráskódját és a word szövegfájlt GitHub adattár.
Kezdje a Tkinter és a Random modul importálásával. Inicializálja a Tkinter-példányt, és jelenítse meg a gyökérablakot. Állítsa be az ablak méretét pixelben, címét és háttérszínét.
tól től tkinter import *
import véletlen
tól től tkinter import üzenetbox
Főképernyő = Tk()
Mainscreen.geometry("1000x600")
Mainscreen.title("MakeUseOf gépelési játék")
Mainscreen.config(bg="aqua")
Töltse le a szavak listáját a GitHub-tárhelyről, és helyezze el ugyanabba a mappába, mint a Python-szkript az egyszerű hivatkozás érdekében. Olvassa el a szövegfájl tartalmát, és használja a split() függvényt, hogy minden szót listában tároljon. A pontszám, a kihagyott és a count1 változókat nullára, az időváltozót pedig 60-ra inicializálja.
file1 = open("words.txt", "r")
szavak = file1.read().split()
pontszám = kihagyott = count1 = 0
idő = 60
Határozzon meg egy nevű függvényt rendelkezésre álló idő() amely a fent említett globális változókra hivatkozik. Ha a hátralévő idő nagyobb, mint nulla, csökkentse eggyel, és jelenítse meg az időzítési címkén (a kód későbbi felében deklarálva). Használja a után() függvény visszahívja a giventime() függvényt 1000 ezredmásodperces (egy másodperc) késleltetés után.
Ha lejárt az idő, módosítsa a startcímke tartalmát Game Over-re, és ezzel egyidejűleg jelenítse meg a pontszámot a játékutasítás címkéjén. Adja át a megfelelő változókat a formátum() funkciót a találat, a hiányzó és az összpontszám megjelenítéséhez.
defrendelkezésre álló idő():
globális idő, pontszám, kihagyott
ha az idő > 0:
idő -= 1
timercount.configure (text=time)
időzítés.után(1000, rendelkezésre álló idő)
más:
startlabel.configure (text='Játék vége!')
gameinstruction.configure (text='Találat = {} | Kisasszony = {} | Összpontszám = {}'.formátum (pontszám, kihagyott, pontszám - kihagyott))
Adja át a címet és az üzenetet a askokcancel() funkció. Ha a párbeszédpanelen kapott válasz igaz, állítsa le az alkalmazást a gombbal kijárat() funkció.
rr = messagebox.askokcancel('Játék vége!', "Nyomja meg az OK gombot a kilépéshez")
ha rr == Igaz:
kijárat()
Határozzon meg egy nevű függvényt játszma, meccs() amely az eseményt veszi bemeneti argumentumnak. Hivatkozás a globális változókra. Ha az időváltozó 60, akkor hajtsa végre a giventime() függvényt a visszaszámlálás megkezdéséhez. A játék közben változtassa meg a startcímkét Continue-ra, a gameinstruction címkét pedig nyomja meg az Enter billentyűt, miután beírta a szót a configure() függvény segítségével.
defjátszma, meccs(esemény):
globális pont, kimaradtha az idő == 60:
rendelkezésre álló idő()
startlabel.configure (text='Folytatni..')
gameinstruction.configure (text="A szó beírása után nyomja meg az Entert")
A szócikkben beírt szó lekérése a kap() funkciót, és ellenőrizze, hogy megegyezik-e a képernyőn megjelenő szóval. Ha igen, növelje a pontszámot, és tüntesse fel a pontszám címkéjén. Ellenkező esetben növelje a kihagyott változót eggyel.
Rendezze át az elemeket a szólistában, és jelenítse meg az első elemet. Használja a töröl() függvény nullától az utolsó indexig a szóbeviteli widgeten a tartalom törléséhez.
ha wordentry.get() == labelforward['szöveg']:
pontszám += 1
scorelabelcount.configure (text=score)
más:
kimaradt += 1
véletlen.keverés(szavak)
labelforward.configure (text=words[0])
szócikk.töröl(0, VÉGE)
A Label widget segítségével állítsa be a startcímkét, a labelforwardot, a scorelabel-t, a scorelabelcount-ot, a labelfortimer-t, az timercount-ot és a játékutasítást. A címke widget beveszi azt a szülőablakot, amelybe el szeretné helyezni, a megjelenítendő szöveget, a betűtípus típusát, méretét, színét és stílusát, valamint a címke háttérszínét.
Adja át az X és Y koordinátákat a hely() módszer a címkék egy adott helyen történő rendezésére.
startlabel = Címke (Főképernyő, szöveg="Gépíró játék",font=("arial",30,"dőlt félkövér"),bg='fekete',fg='fehér')
startlabel.place (x=375, y=50)labelforward = Címke (Főképernyő, szöveg=' ',font=("arial",45,"dőlt félkövér"),fg='zöld')
labelforward.place (x=350, y=240)scorelabel = Címke (Főképernyő, szöveg='Pontszámod:',font=("arial",25,"dőlt félkövér"),fg='gesztenyebarna')
scorelabel.place (x=110, y=100)scorelabelcount = Címke (főképernyő, text=score, font=("arial",25,"dőlt félkövér"),fg='lila')
scorelabelcount.place (x=250, y=180)labelfortimer = Címke (Főképernyő, szöveg='Idő maradt:',font=("arial",25,"dőlt félkövér"),fg='gesztenyebarna')
labelfortimer.place (x=700, y=100)timercount = Címke (főképernyő, text=time, font=("arial",25,"dőlt félkövér"),fg='lila')
timercount.place (x=700, y=180)
gameinstruction = Címke (Főképernyő, szöveg="A szó beírása után nyomja meg az Entert",font=("arial",25,"dőlt félkövér"),fg='szürke')
gameinstruction.place (x=250, y=500)
Határozzon meg egy bejegyzés widgetet, amely elfogadja a beírt szót. Állítsa be a szülőablakot, amelybe el szeretné helyezni, a betűtípust, -méretet, -stílust, valamint a keret méretét és a justify tulajdonságot. Használja a place() metódust a bejegyzés widget elhelyezéséhez és a fókusz_készlet() módszerrel aktiválhatja a beviteli mezőt.
wordentry = Bejegyzés (főképernyő, font=("arial",25,"dőlt félkövér"), bd=10, indokolja ='központ')
szóbejegyzés.hely (x=350, y=330)
szócikk.focus_set()
Fontos lépés, hogy az Enter billentyűt egy eseménnyel kösse össze a Tkinter ablakban. Ezzel biztosítja, hogy amikor a játékos megnyomja Belép egy adott funkció hajtana végre. Ennek eléréséhez át kell adni a
Mainscreen.bind('' , játszma, meccs)
mainloop()
Helyezze össze az összes kódot, és futtassa a kódot, hogy kéznél legyen a gépelési tesztjáték.
A Python gépelési tesztalkalmazás kimenete
A fenti program futtatásakor egy 1000 pixel széles és 600 pixel magas ablak jelenik meg aqua háttérszínnel, eredményjelzővel, visszaszámlálóval és a játék megkezdésére vonatkozó utasítással.
Az Enter lenyomására a játék elindul, és minden helyes válasz esetén a program eggyel növeli a pontszámot.
Amikor az idő lejár, a program megjeleníti a végeredményt, valamint egy párbeszédpanelt a játékból való kilépéshez.
Tkinter GUI ötletek kezdőknek
A Tkinter egy nagyon hatékony eszköz, amellyel egyszerű és teljesen működőképes, vonzó és robusztus alkalmazásokat hozhat létre. Még egy kezdő is használhatja a Tkintert. Néhány példaprojekt, amelyet összeállíthat, egy kvízjáték, egy címjegyzék, egy teendőlista vagy egy képnézegető.
Ha túl szeretne lépni a Tkinteren, a népszerű alternatívák közé tartozik a Qt designer, a Kivy, a Toga és a BeeWare. Mindezek a keretrendszerek sokoldalúak és támogatják a platformok közötti fejlesztést, így alkalmazásait problémamentesen futtathatja bármilyen környezetben.