Найти - Пользователи
Полная версия: Как написать программу проверки-знаний?
Начало » Python для новичков » Как написать программу проверки-знаний?
1 2 3
Goyt
JOHN_16
а может клиент/серверный подход здесь будет лучше? Наверняка в комп. классе есть ПК преподавателя или тп.
Будет удобнее чтобы Ученик запустил тест на любом ПК, и сразу по окончании выходил результат с распечаткой
doza_and
Goyt
по окончании выходил результат с распечаткой
Зачем вы бумагу переводите и наши леса губите? В электронном виде результат надо фиксировать. Или вы под распечаткой файл понимаете?
Goyt
doza_and
Я не против электронного варианта, но администрация требует отдельный журнал с результатами учеников
py.user.next
Goyt
Хотелось бы чтобы программа спокойно запускалась под винду без дополнительных установок библиотек(в школе везде винда).
Сейчас обычно делают web-сервис, где можно вводить данные через браузер и получать результат. У сдающих тесты должен быть только браузер, а доступа к базе тестов они не имеют, потому что база лежит на сервере, предоставляющем web-сервис (в глобальной или локальной сети).

Goyt
так как я немного знаком с python думал использовать его
Если что-то выглядит просто снаружи, это ещё не значит, что оно просто устроено внутри. Обычно так: снаружи одно поле какое-нибудь, а внутри куча кода, который обрабатывает это одно поле. С нулевыми знаниями это всё не напишешь. Окно-то сделать легко, сложно написать код для его обработки. А без кода окно не будет ничего делать, так же как и поле или кнопка.
Rodegast
> Я изучил программу, я работаю из под Линукс и не понимаю что мешает другому человеку скачать редактор и открыть тесты(я имею ввиду, программа не имеет защиты типа логин пароль)

А ты её точно изучил?
Проблема разграничения прав доступа на создание теста решена использованием пароля для режима редактирования….Пароль режима редактирования изменяется из пункта “Сервис->Пароль режима”. По-умолчанию: “Password”
Goyt
Rodegast
> Я изучил программу, я работаю из под Линукс и не понимаю что мешает другому человеку скачать редактор и открыть тесты(я имею ввиду, программа не имеет защиты типа логин пароль)А ты её точно изучил?
Я нажимаю установить пароль а в ответ тишина от программы, она даже пароль не просит при входе
Goyt
py.user.next
Я уверен что могу написать консольный вариант, но делать тесты на десктопе займёт время на изучение. Мб стоит ещё рассмотреть варианты на delphi или c# например? Я где то видел исходники другое дело что разработка должна идти под win верно?
vic57
Goyt
Остались исходники?) Чтобы допилить под себя. Вариант с pyqt хороший, но придется курить маны
ОС CP/M вас устраивает? ето был 1989 год ЕМНИП
рыбу я вам дам, доработаете
 ##
from tkinter import Tk, BOTH, Listbox, StringVar, END,Label,Frame,Button,W
class Example(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent,bg='#ccc')   
        self.parent = parent
        self.var = StringVar()
        self.fnt='Times 18'
        self.data = Data()
        self.initUI()
        
    def initUI(self):
        self.parent.title("Example")          
        self.pack(fill=BOTH, expand=True)
        self.lblQue = Label(self,font=self.fnt)
        self.lblQue.pack(fill=BOTH)
        self.lb = Listbox(self,bg='#ededed',font=self.fnt)
        self.lb.bind("<<ListboxSelect>>", self.onSelect)    
        self.lb.pack(fill=BOTH,expand=True)
        self.lblAns = Label(self, text='', bg='#777',
                      fg='yellow',font='times 22',anchor=W)        
        self.lblAns.pack(fill=BOTH)
        frame = Frame(self,bg='#ccc')
        btnNext= Button(frame,text='Вопрос',command=self.onNext,font=self.fnt)
        btnNext.grid(row=0,column=1,padx=10)
        btnQuit= Button(frame,text='Выход',command=self.parent.destroy,font=self.fnt)
        btnQuit.grid(row=0,column=2,padx=10)
        frame.pack(fill=None)
        
    def onSelect(self,val=None):
        try:
            idx = self.lb.curselection()
            value = self.lb.get(idx)   
            self.lblAns['text']= 'Вы выбрали: '+ value
        except: pass
    def onNext(self):
        que,ans = self.data.get()
        self.lblQue['text'] = que
        self.lblAns['text'] = ''
        self.lb.delete(0,self.lb.size())
        for i in ans: self.lb.insert(END,i)
    
    
class Data(object):
    def __init__(self):
        self.que = ('Чем шплинтуется вал?','Чему равно ускорение свободного падения')
        self.ans =(('Гайка','Винт', 'Болт с левой резьбой', 'Шплинт', 'Шайба','Гровер'),
                   ('7.62','3.62','2.87','4.12','9.8','5.56'))
        self.index = 0
    def get(self):
        ret =  self.que[self.index],self.ans[self.index]
        self.index += 1
        self.index %= len(self.que)
        return ret
    
if __name__ == '__main__':
    root = Tk()
    ex = Example(root)
    root.geometry("640x480+100+100")
    root.mainloop()  
Rodegast
> Я нажимаю установить пароль а в ответ тишина от программы, она даже пароль не просит при входе

Поставь версию 1.5.2 в ней пароль работает.
Goyt
Rodegast
> Я нажимаю установить пароль а в ответ тишина от программы, она даже пароль не просит при входеПоставь версию 1.5.2 в ней пароль работает.
Спасибо попробую
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB