Średnia prędkość pisania wynosi około 40 słów na minutę. Jeśli chcesz być produktywny w swojej pracy, powinieneś dążyć do wpisania co najmniej 65 do 70 słów na minutę. Zwiększenie szybkości pisania poprawi wydajność, co przyspieszy zadania, takie jak wprowadzanie danych, pisanie tekstów, transkrypcja i role administracyjne.
Aby sprawdzić swoje umiejętności pisania na klawiaturze, możesz zbudować prostą aplikację do testowania pisania przy użyciu języka Python. Korzystając z tego, możesz uzyskać dokładne wyniki i rozwinąć uzależniający nawyk, który z czasem będzie się poprawiał.
Moduły Tkinter i Random
Aby opracować grę testową pisania, użyjesz tkinter moduł i losowy moduł. Tkinter umożliwia tworzenie aplikacji desktopowych. Oferuje różnorodne widżety, takie jak przyciski, etykiety, pola tekstowe i menedżery układu, które ułatwiają tworzenie aplikacji bez zbytniego wysiłku.
Oprócz tego zawiera pomocne biblioteki, obiekty płótna i parsery HTML/XML/PDF. Aby zainstalować Tkintera w swoim systemie, otwórz terminal i wykonaj:
pypeć zainstalować tkinter
Moduł Random posiada zbiór funkcji do generowania liczb losowych. Możesz użyć tych procedur do tworzenia przetasowanych sekwencji, ruchów w grze i pseudolosowych liczb całkowitych. Niektóre z jego typowych zastosowań obejmują symulację rzutów kostką, tasowanie list, a generator losowych hasełoraz w grach typu krykiet ręczny i odgadywanie liczb.
Jak zbudować aplikację do testowania pisania przy użyciu Pythona
Wykonaj poniższe kroki, aby utworzyć aplikację do testowania pisania przy użyciu modułów Tkinter i Random w języku Python.
Możesz znaleźć kod źródłowy Typing Test App using Python i plik tekstowy Word w tym Repozytorium GitHub.
Rozpocznij od zaimportowania modułu Tkinter i Random. Zainicjuj instancję Tkinter i wyświetl okno główne. Ustaw wymiary w pikselach, tytuł i kolor tła okna.
z tkinter import *
import losowy
z tkinter import skrzynka pocztowa
Ekran główny = Tk()
Ekran główny.geometry(„1000x600”)
tytuł.ekranu głównego(„Wykorzystaj grę polegającą na pisaniu na klawiaturze”)
Ekran główny.config(bg="wodny")
Pobierz listę słów z repozytorium GitHub i umieść ją w tym samym folderze co skrypt Pythona, aby ułatwić korzystanie z niej. Przeczytaj zawartość pliku tekstowego i użyj funkcji split() do zapisania każdego słowa na liście. Zainicjuj zmienne wyniku, pominięcia i liczby 1 na zero, a zmienną czasu na 60.
plik1 = otwórz(„słowa.txt”, 'R')
słowa = plik1.odczyt().split()
wynik = brak = liczba1 = 0
czas = 60
Zdefiniuj funkcję o nazwie dany czas() który odwołuje się do wspomnianych powyżej zmiennych globalnych. Jeśli pozostały czas jest większy od zera, zmniejsz go o jeden i wyświetl na etykiecie licznika czasu (zadeklarowanej w dalszej części kodu). Użyj Po() do wywołania funkcji givetime() z opóźnieniem 1000 milisekund (jedna sekunda).
Jeśli czas się skończy, zmień treść etykiety startowej na Koniec gry i jednocześnie wyświetl wynik na etykiecie instrukcji gry. Przekaż odpowiednie zmienne do format() funkcję wyświetlania trafienia, chybienia i całkowitego wyniku.
pokdany czas():
światowy czas, wynik, chybiony
jeśli czas > 0:
czas -= 1
timercount.configure (tekst=czas)
licznik czasu.Po(1000, dany czas)
w przeciwnym razie:
etykieta startowa.configure (tekst='Koniec gry!')
instrukcja gry.configure (tekst='Trafienie = {} | Panna = {} | Łączny wynik = {}'.format (punktacja, brak, wynik - brak))
Przekaż tytuł i wiadomość do zapytaj anuluj() funkcjonować. Jeśli odpowiedź otrzymana w oknie dialogowym ma wartość prawda, zatrzymaj aplikację za pomocą Wyjście() funkcjonować.
rr = skrzynka wiadomości.askokcancel('Koniec gry!', „Naciśnij OK, aby wyjść”)
Jeśli rr == PRAWDA:
Wyjście()
Zdefiniuj funkcję o nazwie gra() która przyjmuje zdarzenie jako argument wejściowy. Odwołaj się do zmiennych globalnych. Jeśli zmienna czasu jest równa 60, wykonaj funkcję Giventime(), aby rozpocząć odliczanie. Gdy gra jest w toku, zmień etykietę początkową na Kontynuuj i etykietę instrukcji gry, aby nacisnąć klawisz Enter po wpisaniu słowa za pomocą funkcji configure().
pokgra(wydarzenie):
światowy wynik, chybionyjeśli czas == 60:
dany czas()
etykieta startowa.configure (tekst='Kontynuować..')
instrukcja gry.configure (tekst=„Wciśnij Enter po wpisaniu słowa”)
Pobierz słowo wpisane w wordentry za pomocą Dostawać() funkcję i sprawdź, czy odpowiada słowu wyświetlanemu na ekranie. Jeśli tak, zwiększ wynik i odzwierciedl go na etykiecie wyniku. W przeciwnym razie zwiększ pominiętą zmienną o jeden.
Zmień kolejność elementów na liście słów i wyświetl pierwszy element. Użyj usuwać() funkcję od zera do ostatniego indeksu na widżecie wordentry, aby wyczyścić zawartość.
Jeśli wordentry.get() == labelforward ['tekst']:
wynik += 1
scorelabelcount.configure (tekst=wynik)
w przeciwnym razie:
brak += 1
losowy.człapać(słowa)
labelforward.configure (tekst=słowa[0])
słownictwo.usuwać(0, KONIEC)
Ustaw etykietę początkową, etykietę do przodu, etykietę wyniku, liczbę etykiet wyników, etykietę dla timera, licznik czasu i instrukcję gry za pomocą widżetu Etykieta. Widżet etykiety pobiera okno nadrzędne, w którym chcesz go umieścić, tekst, który ma wyświetlać, typ czcionki, rozmiar, kolor i styl wraz z kolorem tła etykiety.
Przekaż współrzędne X i Y do miejsce() sposób organizowania etykiet w określonej pozycji.
startlabel = Etykieta (ekran główny, tekst =„Gra w pisanie”,czcionka=(„arialny”,30,„kursywa pogrubiona”),bg='czarny',fg='biały')
etykieta startowa.miejsce (x=375, y=50)labelforward = Etykieta (ekran główny, tekst =' ',czcionka=(„arialny”,45,„kursywa pogrubiona”),fg='zielony')
labelforward.place (x=350, y=240)scorelabel = Etykieta (ekran główny, tekst ='Twój wynik:',czcionka=(„arialny”,25,„kursywa pogrubiona”),fg='kasztanowaty')
etykieta.miejsce (x=110, y=100)scorelabelcount = Etykieta (ekran główny, tekst=wynik, czcionka=(„arialny”,25,„kursywa pogrubiona”),fg='fioletowy')
punktacjaliczba.miejsce (x=250, y=180)labelfortimer = Etykieta (ekran główny, tekst ='Pozostały czas:',czcionka=(„arialny”,25,„kursywa pogrubiona”),fg='kasztanowaty')
labelfortimer.miejsce (x=700, y=100)timercount = Etykieta (ekran główny, tekst = czas, czcionka = („arialny”,25,„kursywa pogrubiona”),fg='fioletowy')
licznik czasu.miejsce (x=700, y=180)
instrukcja gry = etykieta (ekran główny, tekst =„Wciśnij Enter po wpisaniu słowa”,czcionka=(„arialny”,25,„kursywa pogrubiona”),fg='szary')
instrukcja gry.miejsce (x=250, y=500)
Zdefiniuj widżet wpisu, który akceptuje wpisywane słowo. Ustaw okno nadrzędne, w którym chcesz je umieścić, typ czcionki, rozmiar, styl wraz z rozmiarem obramowania i właściwość justify. Użyj metody place() do ustawienia widżetu wpisu i pliku focus_set() metoda aktywowania pola wprowadzania do wprowadzania.
wordentry = wpis (ekran główny, czcionka = („arialny”,25,„kursywa pogrubiona”), bd=10, uzasadnij ='Centrum')
wpis.miejsce (x=350, y=330)
słownictwo.focus_set()
Ważnym krokiem jest powiązanie klawisza Enter ze zdarzeniem w oknie Tkintera. Takie postępowanie zapewnia, że gdy gracz naciska Wchodzić wykonywałaby się konkretna funkcja. Aby to osiągnąć, należy przekazać
ekran główny.bind('' , gra)
główna pętla()
Połącz cały kod i uruchom kod, aby zagrać w grę testową na wyciągnięcie ręki.
Dane wyjściowe aplikacji do testowania pisania w języku Python
Po uruchomieniu powyższego programu pojawia się okno o szerokości 1000 pikseli i wysokości 600 pikseli, z turkusowym kolorem tła, tablicą wyników, minutnikiem i instrukcją rozpoczęcia gry.
Po naciśnięciu Enter gra się rozpoczyna i za każdą poprawną odpowiedź program zwiększa wynik o jeden.
Po upływie czasu program wyświetla końcowy wynik wraz z oknem dialogowym umożliwiającym wyjście z gry.
Pomysły Tkinter GUI dla początkujących
Tkinter to bardzo potężne narzędzie, którego można używać do tworzenia prostych lub w pełni funkcjonalnych aplikacji, które są atrakcyjne i solidne. Nawet nowicjusz może korzystać z Tkintera. Kilka przykładowych projektów, które możesz stworzyć, to quiz, książka adresowa, lista rzeczy do zrobienia lub przeglądarka obrazów.
Jeśli chcesz wyjść poza Tkintera, kilka popularnych alternatyw to Qt designer, Kivy, Toga i BeeWare. Wszystkie te frameworki są wszechstronne i obsługują programowanie na wielu platformach, dzięki czemu możesz bezproblemowo uruchamiać swoje aplikacje w dowolnym środowisku.