Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Средната скорост на писане е около 40 думи в минута. Ако искате да сте продуктивни в работата си, трябва да се стремите да пишете поне 65 до 70 думи в минута. Увеличаването на скоростта ви на писане ще подобри ефективността ви, което ще подобри задачите като въвеждане на данни, писане на текстове, транскрипция и административни роли.

За да тествате уменията си за писане, можете да създадете просто приложение за тест за писане с помощта на Python. Използвайки това, можете да получите точни резултати и да развиете пристрастяващ навик, който да подобрите с течение на времето.

Модулите Tkinter и Random

За да разработите тестовата игра за писане, ще използвате tkinter модул и случаен модул. Tkinter ви позволява да създавате настолни приложения. Той предлага разнообразие от джаджи като бутони, етикети, текстови полета и мениджъри на оформление, които улесняват разработването на приложения без много усилия.

instagram viewer

Освен това, той идва с полезни библиотеки, обекти на канава и анализатори на HTML/XML/PDF. За да инсталирате Tkinter във вашата система, отворете терминала и изпълнете:

пип Инсталирай tkinter

Модулът Random има набор от функции за генериране на произволни числа. Можете да използвате тези процедури, за да създадете разбъркани последователности, движения на играта и псевдослучайни цели числа. Някои от обичайните му приложения включват симулация на хвърляне на зарове, разбъркване на списъци, a генератор на произволни пароли, и в игри като ръчен крикет и отгатване на числа.

Как да създадете приложение за тест за въвеждане с помощта на Python

Следвайте тези стъпки, за да създадете тестово приложение за писане, използвайки модула Tkinter и Random на Python.

Можете да намерите изходния код на Typing Test App Using Python и текстовия файл с думи тук GitHub хранилище.

Започнете с импортиране на модула Tkinter и Random. Инициализирайте екземпляра на Tkinter и покажете основния прозорец. Задайте размерите в пиксели, заглавието и цвета на фона на прозореца.

от tkinter импортиране *
импортиране случаен
от tkinter импортиране кутия за съобщения

Главен екран = Tk()
Mainscreen.geometry("1000x600")
Mainscreen.title(„MakeUseOf Typing Game“)
Mainscreen.config(бг="аква")

Изтеглете списъка с думи от хранилището на GitHub и го поставете в същата папка като скрипта на Python за лесно препращане. Прочетете съдържанието на текстовия файл и използвайте функцията split(), за да съхраните всяка дума в списък. Инициализирайте променливите за резултат, пропуснати и count1 на нула и променливата за време на 60.

файл1 = отворен('words.txt', "р")
думи = file1.read().split()
резултат = пропуснат = брой1 = 0
време = 60

Дефинирайте функция с име дадено време() който препраща към глобалните променливи, споменати по-горе. Ако оставащото време е по-голямо от нула, намалете го с единица и го покажете на етикета timercount (деклариран в по-късната половина на кода). Използвай след() функция за обратно извикване на функцията giventime() след закъснение от 1000 милисекунди (една секунда).

Ако времето изтече, променете съдържанието на стартовия етикет на Game Over и едновременно с това покажете резултата върху етикета с инструкции за играта. Предайте съответните променливи на формат () функция за показване на хит, пропуск и общ резултат.

дефдадено време():
глобален време, резултат, пропуснато

ако време > 0:
време -= 1
timercount.configure (текст=време)
timercount.след(1000, дадено време)
друго:
startlabel.configure (текст='Играта приключи!')
gameinstruction.configure (текст='Попадение = {} | Мис = {} | Общ резултат = {}'.format (резултат, пропуснат, резултат - пропуснат))

Предайте заглавието и съобщението на askokcancel() функция. Ако отговорът, получен в диалоговия прозорец, е верен, спрете приложението, като използвате изход() функция.

 rr = messagebox.askokcancel('Играта приключи!', „Натиснете OK за изход“)

ако rr == Вярно:
изход()

Дефинирайте функция с име игра() който приема събитие като входен аргумент. Обърнете се към глобалните променливи. Ако променливата за време е равна на 60, изпълнете функцията giventime(), за да започнете обратното броене. Докато играта е в ход, променете началния етикет на Продължи и етикета на инструкциите за играта, за да натиснете Enter, след като въведете думата с помощта на функцията configure().

дефигра(събитие):
глобален резултат, пропуснат

ако време == 60:
дадено време()

startlabel.configure (текст='Продължи..')
gameinstruction.configure (текст=„Натиснете Enter след въвеждане на думата“)

Извлечете думата, въведена в wordentry, като използвате получи() функция и проверете дали е равно на думата, показана на екрана. Ако да, увеличете резултата и го отразете върху етикета на резултата. В противен случай увеличете пропуснатата променлива с единица.

Пренаредете елементите в списъка с думи и покажете първия елемент. Използвай Изтрий() функция от нулата до последния индекс на приспособлението за въвеждане на думи, за да изчистите съдържанието.

ако wordentry.get() == labelforward['текст']:
резултат += 1
scorelabelcount.configure (текст=резултат)
друго:
пропуснато += 1

случаен.разбъркване(думи)
labelforward.configure (текст=думи[0])
вписване на думи.Изтрий(0, КРАЙ)

Задайте startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount и game instruction с помощта на приспособлението Label. Приспособлението за етикети приема родителския прозорец, в който искате да го поставите, текста, който трябва да показва, типа на шрифта, размера, цвета и стила заедно с цвета на фона на етикета.

Предайте координатите X и Y на място() метод за организиране на етикетите на конкретна позиция.

startlabel = Етикет (Главен екран, текст=„Игра за писане“,шрифт=("arial",30,"курсив получер"),бг="черно",fg="бял")
startlabel.place (x=375, y=50)

labelforward = Етикет (Главен екран, текст=' ',шрифт=("arial",45,"курсив получер"),fg="зелено")
labelforward.place (x=350, y=240)

scorelabel = Етикет (Главен екран, текст='Твоят резултат:',шрифт=("arial",25,"курсив получер"),fg="кестеняво")
scorelabel.place (x=110, y=100)

scorelabelcount = Етикет (Основен екран, текст=резултат, шрифт=("arial",25,"курсив получер"),fg='лилаво')
scorelabelcount.place (x=250, y=180)

labelfortimer = Етикет (Главен екран, текст='Оставащо време:',шрифт=("arial",25,"курсив получер"),fg="кестеняво")
labelfortimer.place (x=700, y=100)

timercount = Етикет (Основен екран, текст=време, шрифт=("arial",25,"курсив получер"),fg='лилаво')
timercount.place (x=700, y=180)

gameinstruction = Етикет (Основен екран, текст=„Натиснете Enter след въвеждане на думата“,шрифт=("arial",25,"курсив получер"),fg="сив")
gameinstruction.place (x=250, y=500)

Дефинирайте изпълним модул за въвеждане, който приема въведената от вас дума. Задайте родителския прозорец, в който искате да го поставите, типа на шрифта, размера, стила заедно с размера на рамката и свойството за оправдаване. Използвайте метода place(), за да позиционирате изпълнимия модул за въвеждане и focus_set() метод за активиране на полето за въвеждане за въвеждане.

wordentry = Въвеждане (основен екран, шрифт=("arial",25,"курсив получер"), bd=10, оправдайте="център")
wordentry.place (x=350, y=330)
вписване на думи.focus_set()

Важна стъпка е да свържете клавиша Enter със събитие в прозореца на Tkinter. Това гарантира, че когато играчът натисне Въведете определена функция ще се изпълни. За да постигнете това, преминавате низ и game() функционират като параметри на свързване () функция. The mainloop() функцията казва на Python да стартира цикъла на събитията на Tkinter и да слуша за събития (като натискания на бутони), докато затворите прозореца.

Mainscreen.bind('', игра)
mainloop()

Съберете целия код и стартирайте кода, за да играете тестовата игра за писане на една ръка разстояние.

Резултат от приложението за тест за въвеждане на Python

При стартиране на програмата по-горе се появява прозорец с ширина 1000 пиксела и височина 600 пиксела, с аква цвят на фона, табло с резултати, таймер за обратно броене и инструкция за започване на играта.

При натискане на Enter играта започва и при всеки правилен отговор програмата увеличава резултата с единица.

Когато времето изтече, програмата показва крайния резултат заедно с диалогов прозорец за излизане от играта.

Идеи за GUI на Tkinter за начинаещи

Tkinter е много мощен инструмент, който можете да използвате за изграждане на прости до напълно функционални приложения, които са привлекателни и стабилни. Дори начинаещ може да използва Tkinter. Няколко примерни проекта, които можете да създадете, са игра с тестове, адресна книга, списък със задачи или програма за преглед на изображения.

Ако искате да преминете отвъд Tkinter, някои от популярните алтернативи включват Qt дизайнер, Kivy, Toga и BeeWare. Всички тези рамки са гъвкави и поддържат разработка на различни платформи, така че можете да стартирате приложенията си безпроблемно във всяка среда.