Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Průměrná rychlost psaní se pohybuje kolem 40 slov za minutu. Pokud chcete být ve své práci produktivní, měli byste se snažit napsat alespoň 65 až 70 slov za minutu. Zvýšení rychlosti psaní zlepší vaši efektivitu, což posílí úkoly, jako je zadávání dat, copywriting, přepis a administrativní role.

Chcete-li otestovat své dovednosti psaní, můžete vytvořit jednoduchou aplikaci pro testování psaní pomocí Pythonu. Pomocí toho můžete získat přesné výsledky a vyvinout návykový návyk, který se časem zlepší.

Moduly Tkinter a Random

Chcete-li vyvinout hru Typing Test, použijete tkinter modul a náhodný modul. Tkinter vám umožňuje vytvářet desktopové aplikace. Nabízí řadu widgetů, jako jsou tlačítka, štítky, textová pole a správci rozložení, které usnadňují vývoj aplikací bez velkého úsilí.

Kromě toho přichází s užitečnými knihovnami, objekty plátna a analyzátory HTML/XML/PDF. Chcete-li nainstalovat Tkinter do vašeho systému, otevřete terminál a spusťte:

instagram viewer

pip Nainstalujte tkinter

Modul Náhodný má sbírku funkcí pro generování náhodných čísel. Tyto rutiny můžete použít k vytváření zamíchaných sekvencí, pohybů ve hře a pseudonáhodných celých čísel. Některé z jeho běžných použití zahrnují simulaci hodů kostkou, míchání seznamů, a generátor náhodných hesela ve hrách jako ruční kriket a hádání čísel.

Jak vytvořit aplikaci pro testování psaní pomocí Pythonu

Chcete-li vytvořit aplikaci pro testování psaní pomocí modulu Tkinter and Random v Pythonu, postupujte podle těchto kroků.

Zde najdete zdrojový kód aplikace Testing Test pomocí Pythonu a textový soubor slova úložiště GitHub.

Začněte importem Tkinter a modulu Random. Inicializujte instanci Tkinter a zobrazte kořenové okno. Nastavte rozměry v pixelech, nadpis a barvu pozadí okna.

z tkinter import *
import náhodný
z tkinter import schránka zpráv

Hlavní obrazovka = Tk()
Mainscreen.geometry('1000x600')
Mainscreen.title('MakeUseOf Typeing Game')
Mainscreen.config(bg="aqua")

Stáhněte si seznam slov z úložiště GitHub a umístěte jej do stejné složky jako skript Python pro snadné odkazování. Přečtěte si obsah textového souboru a použijte funkci split() k uložení každého slova do seznamu. Inicializujte proměnné skóre, zmeškané a count1 na nulu a proměnnou času na 60.

soubor1 = otevřít('words.txt', 'r')
slova = file1.read().split()
skóre = zmeškané = počet 1 = 0
čas = 60

Definujte funkci pojmenovanou daný čas() který odkazuje na výše uvedené globální proměnné. Pokud je zbývající čas větší než nula, snižte jej o jedničku a zobrazte jej na štítku časovače (uvedeno v druhé polovině kódu). Použijte po() funkce, která zavolá zpět funkci giventime() po zpoždění 1 000 milisekund (jedna sekunda).

Pokud čas vypršel, změňte obsah startovního štítku na Game Over a současně zobrazte skóre na štítku s herním pokynem. Předejte odpovídající proměnné do formát() funkce pro zobrazení hitu, slečny a celkového skóre.

defdaný čas():
globální čas, skóre, minul

pokud čas > 0:
čas -= 1
timercount.configure (text=time)
timercount.po(1000, daný čas)
jiný:
startlabel.configure (text='Konec hry!')
gameinstruction.configure (text='Hit = {} | Slečna = {} | Celkové skóre = {}'.format (skóre, zmeškané, skóre - zmeškané))

Předejte název a zprávu askokcancel() funkce. Pokud se odpověď přijatá v dialogovém okně vyhodnotí jako pravdivá, zastavte aplikaci pomocí výstup() funkce.

 rr = messagebox.askokcancel('Konec hry!', 'Stiskněte Ok pro ukončení')

-li rr == Skutečný:
výstup()

Definujte funkci pojmenovanou hra() který bere událost jako vstupní argument. Odkazujte na globální proměnné. Pokud se proměnná času rovná 60, spusťte funkci giventime() a začněte odpočítávání. V průběhu hry změňte startlabel na Continue a gameinstruction popisku stiskněte Enter po napsání slova pomocí funkce configure().

defhra(událost):
globální skóre, minul

pokud čas == 60:
daný čas()

startlabel.configure (text='Pokračovat..')
gameinstruction.configure (text=„Po napsání slova stiskněte Enter“)

Vyhledejte slovo zadané ve slovech pomocí dostat() a zkontrolujte, zda se rovná slovu zobrazenému na obrazovce. Pokud ano, zvyšte skóre a uveďte jej na štítku skóre. V opačném případě zvyšte zmeškanou proměnnou o jednu.

Změňte pořadí položek v seznamu slov a zobrazte první prvek. Použijte vymazat() funkce od nuly do posledního indexu na widgetu wordentry, abyste vymazali obsah.

-li wordentry.get() == labelforward['text']:
skóre += 1
scorelabelcount.configure (text=skóre)
jiný:
vynechal += 1

náhodný.zamíchat(slova)
labelforward.configure (text=slova[0])
slovní zásoba.vymazat(0, KONEC)

Nastavte startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount a herní instrukce pomocí widgetu Label. Widget štítku obsahuje nadřazené okno, do kterého jej chcete umístit, text, který by měl zobrazovat, typ písma, velikost, barvu a styl spolu s barvou pozadí štítku.

Předejte souřadnice X a Y do místo() způsob uspořádání štítků na konkrétní pozici.

startlabel = Štítek (Hlavní obrazovka, text='Hra na psaní',font=('arial',30,'tučné kurzíva'),bg='Černá',fg='bílý')
startlabel.place (x=375, y=50)

labelforward = Štítek (Hlavní obrazovka, text=' ',font=('arial',45,'tučné kurzíva'),fg='zelená')
labelforward.place (x=350, y=240)

scorelabel = Štítek (Hlavní obrazovka, text='Tvoje skóre:',font=('arial',25,'tučné kurzíva'),fg='hnědá')
scorelabel.place (x=110, y=100)

scorelabelcount = Štítek (hlavní obrazovka, text=skóre, font=('arial',25,'tučné kurzíva'),fg='nachový')
scorelabelcount.place (x=250, y=180)

labelfortimer = Štítek (Hlavní obrazovka, text='Zbývající čas:',font=('arial',25,'tučné kurzíva'),fg='hnědá')
labelfortimer.place (x=700, y=100)

timercount = Štítek (hlavní obrazovka, text=čas, font=('arial',25,'tučné kurzíva'),fg='nachový')
timercount.place (x=700, y=180)

gameinstruction = Label (Hlavní obrazovka, text=„Po napsání slova stiskněte Enter“,font=('arial',25,'tučné kurzíva'),fg='Šedá')
gameinstruction.place (x=250, y=500)

Definujte vstupní widget, který přijímá zadané slovo. Nastavte rodičovské okno, do kterého jej chcete umístit, typ písma, velikost, styl spolu s velikostí ohraničení a vlastností justify. Použijte metodu place() k umístění vstupního widgetu a focus_set() způsob aktivace vstupního pole pro vstup.

wordentry = Vstup (Hlavní obrazovka, font=('arial',25,'tučné kurzíva'), bd=10, ospravedlnit='centrum')
wordentry.place (x=350, y=330)
slovní zásoba.focus_set()

Důležitým krokem je svázat klávesu Enter s událostí v okně Tkinter. Tím zajistíte, že když hráč stiskne Vstupte vykoná se konkrétní funkce. Abyste toho dosáhli, absolvujete string a game() fungují jako parametry pro svázat() funkce. The mainloop() Funkce říká Pythonu, aby spustil smyčku událostí Tkinter a poslouchal události (jako je stisknutí tlačítka), dokud nezavřete okno.

Mainscreen.bind('', hra)
mainloop()

Dejte celý kód dohromady a spusťte kód, abyste si zahráli hru na testování psaní na dosah ruky.

Výstup aplikace Python Typing Test App

Při spuštění výše uvedeného programu se zobrazí okno o šířce 1 000 pixelů a výšce 600 pixelů s akvamarínovou barvou pozadí, výsledkovou tabulí, odpočítávacím časovačem a pokynem k zahájení hry.

Po stisknutí Enter hra začíná a při každé správné odpovědi program zvyšuje skóre o jedničku.

Po uplynutí času program zobrazí konečné skóre spolu s dialogovým oknem pro ukončení hry.

Tkinter GUI nápady pro začátečníky

Tkinter je velmi výkonný nástroj, který můžete použít k vytváření jednoduchých až plně funkčních aplikací, které jsou atraktivní a robustní. Tkinter může používat i nováček. Několik ukázkových projektů, které můžete vytvořit, jsou kvízová hra, adresář, seznam úkolů nebo prohlížeč obrázků.

Pokud se chcete posunout za hranice Tkinter, některé z populárních alternativ zahrnují Qt designer, Kivy, Toga a BeeWare. Všechny tyto frameworky jsou všestranné a podporují vývoj napříč platformami, takže své aplikace můžete spouštět bez problémů v jakémkoli prostředí.