Technologia

Sprawdź swoją szybkość i dokładność pisania za pomocą Pythona

  • 12 lutego, 2023
  • 7 min read
Sprawdź swoją szybkość i dokładność pisania za pomocą Pythona


Ś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:

 pip install 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, generator losowych haseł oraz gry takie jak krykiet ręczny i zgadywanie liczb.

Warto przeczytać!  Najlepsze zniżki na telefony komórkowe

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 oraz 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.

 from tkinter import *
import random
from tkinter import messagebox

Mainscreen = Tk()
Mainscreen.geometry('1000x600')
Mainscreen.title('MakeUseOf Typing Game')
Mainscreen.config(bg="aqua")

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.

 file1 = open('words.txt', 'r')
words = file1.read().split()
score = missed = count1 = 0
time = 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.

 def giventime():
    global time, score, missed

    if time > 0:
        time -= 1
        timercount.configure(text=time)
        timercount.after(1000, giventime)
    else:
        startlabel.configure(text='Game Over!')
        gameinstruction.configure(text='Hit = {} | Miss = {} | Total Score = {}'.format(score, missed, score - missed))

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 = messagebox.askokcancel('Game Over!', 'Press Ok to Exit')

        if rr == True:
            exit()

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().

 def game(event):
    global score, missed

    if time == 60:
        giventime()

    startlabel.configure(text='Continue..')
    gameinstruction.configure(text='Hit Enter After Typing The Word')

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.

Warto przeczytać!  Gracze są źli na giełdę Kochana Nvidia — oto dlaczego

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ść.

     if wordentry.get() == labelforward['text']:
        score += 1
        scorelabelcount.configure(text=score)
    else:
        missed += 1

    random.shuffle(words)
    labelforward.configure(text=words[0])
    wordentry.delete(0, END)

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 = Label(Mainscreen,text='Typing Game',font=('arial',30,'italic bold'),bg='black',fg='white')
startlabel.place(x=375, y=50)

labelforward = Label(Mainscreen,text=' ',font=('arial',45,'italic bold'),fg='green')
labelforward.place(x=350, y=240)

scorelabel = Label(Mainscreen,text='Your Score:',font=('arial',25,'italic bold'),fg='maroon')
scorelabel.place(x=110, y=100)

scorelabelcount = Label(Mainscreen,text=score,font=('arial',25,'italic bold'),fg='purple')
scorelabelcount.place(x=250, y=180)

labelfortimer = Label(Mainscreen,text='Time Left:',font=('arial',25,'italic bold'),fg='maroon')
labelfortimer.place(x=700, y=100)

timercount = Label(Mainscreen,text=time,font=('arial',25,'italic bold'),fg='purple')
timercount.place(x=700, y=180)

gameinstruction = Label(Mainscreen,text='Hit Enter After Typing The Word',font=('arial',25,'italic bold'),fg='grey')
gameinstruction.place(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 = Entry(Mainscreen, font=('arial',25,'italic bold'), bd=10, justify='center')
wordentry.place(x=350, y=330)
wordentry.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ąć, przekazujesz łańcuch i funkcję game() jako parametry do metody wiązać() funkcjonować. The główna pętla() mówi Pythonowi, aby uruchomił pętlę zdarzeń Tkinter i nasłuchiwał zdarzeń (takich jak naciśnięcia przycisków), dopóki nie zamkniesz okna.

 Mainscreen.bind('<Return>', game)
mainloop()

Połącz cały kod i uruchom kod, aby zagrać w grę testową na wyciągnięcie ręki.

Warto przeczytać!  Kody realizacji Garena Free Fire na 13 lutego 2024 r.: Wygraj darmowe gadżety w grze

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.

Ekran początkowy gry w pisanie w języku Python

Po naciśnięciu Enter gra się rozpoczyna i za każdą poprawną odpowiedź program zwiększa wynik o jeden.

Ekran wpisywania gry Python w toku

Po upływie czasu program wyświetla końcowy wynik wraz z oknem dialogowym umożliwiającym wyjście z gry.

Pisanie gry Python Koniec gry na ekranie

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.


Źródło