Найти в Дзене

Программа для проверки контрольных

Как я создавал программу для проверки контрольных работ с использованием PySimpleGUI

Интерфейс программы
Интерфейс программы

Программирование – это удивительное искусство, которое позволяет преобразовывать идеи в функциональные приложения. Сегодня я хотел бы поделиться с вами процессом создания программы для проверки контрольных работ с использованием библиотеки PySimpleGUI в Python.

Шаг 1: Понимание задачи

Первым шагом я определил, что требуется программа для проверки контрольных работ. Я должен был создать приложение, которое позволяет пользователю ввести правильные ответы и ответы студентов, а затем рассчитывает количество правильных ответов и оценку.

Шаг 2: Начало разработки

Я начал с написания функции для расчета количества правильных ответов и оценки на основе введенных данных. Вот как выглядит код для этой функции:

pythonCopy codedef calculate_score(correct_answers, student_answers):
num_correct = 0 num_questions = len(correct_answers)

for i in range(num_questions):
if correct_answers[i] == student_answers[i]:
num_correct += 1
percent_correct = num_correct / num_questions * 100 if percent_correct < 50:
grade = 2 elif percent_correct < 70:
grade = 3 elif percent_correct < 85:
grade = 4 else:
grade = 5
return num_correct, grade

Эта функция принимает два списка – правильные ответы и ответы студентов, затем сравнивает их и возвращает количество правильных ответов и оценку.

Шаг 3: Создание интерфейса пользователя

Для создания интерфейса я использовал библиотеку PySimpleGUI, которая предоставляет простой и интуитивно понятный способ создания графических интерфейсов. Вот как я создал интерфейс:

pythonCopy codeimport PySimpleGUI as sg

sg.theme('DarkAmber')
layout = [[sg.Text('Введите правильные ответы, разделенные символом новой строки:'), sg.Multiline(key='correct_answers', size=(50,10))],
[sg.Text('Введите ответы на контрольную работу, разделенные символом новой строки:'), sg.Multiline(key='student_answers', size=(50,10))],
[sg.Button('Проверить ответы'), sg.Button('Выход')]]

window = sg.Window('Проверка контрольных', layout)

Этот код создает окно с двумя текстовыми полями для ввода правильных ответов и ответов студентов, а также двумя кнопками для проверки ответов и выхода из программы.

Шаг 4: Цикл обработки событий

Наконец, я добавил цикл обработки событий, который ждет действий пользователя – ввода данных или нажатия на кнопки. Когда пользователь нажимает кнопку "Проверить ответы", вызывается функция calculate_score для расчета результатов и выводится сообщение с количеством правильных ответов и оценкой.

pythonCopy codewhile True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Выход':
break elif event == 'Проверить ответы':
correct_answers = values['correct_answers'].splitlines()
student_answers = values['student_answers'].splitlines()
num_correct, grade = calculate_score(correct_answers, student_answers)
sg.popup('Количество правильных ответов: {}'.format(num_correct), 'Оценка: {}'.format(grade))

window.close()

Этот цикл продолжает работать, пока пользователь не закроет окно или не нажмет кнопку "Выход".

Шаг 5: Тестирование и улучшение

Наконец, я протестировал программу, убедившись, что она работает правильно и соответствует моим ожиданиям. При необходимости я вносил изменения для улучшения функциональности или внешнего вида интерфейса.

Вот так я создал программу для проверки контрольных работ с использованием PySimpleGUI. Этот процесс помог мне развивать навыки программирования и создания графических интерфейсов, а также применять их в практических задачах.