async def enter_test(message: types.Message): try: cid = get_cid_by_tid(message.from_user.id) list_of_students = get_list_of_student_from_cours(cid) grades = [] students_surnames = [] students_idcards = [] students_groups = [] for i in list_of_students: g = [] student = get_info_about_me(i[0])[0] students_surnames.append(student[2]) students_idcards.append(student[3]) students_groups.append(student[4]) for j in get_my_grades(i[0], cid, 1): g.append(j[3]) grades.append(g) lens = [] for i in grades: lens.append(len(i)) max_len = max(lens) for j in grades: if len(j) < max_len: while len(j) < max_len: j.insert(0, 0) a = np.array(grades) df_grades = pd.DataFrame(a) df = pd.DataFrame( {'Фамилия': students_surnames, 'Номер студенческого': students_idcards, 'Группа': students_groups}) answer = pd.merge(df, df_grades, left_index=True, right_index=True) answer.to_excel(r"Журнал.xlsx") await message.answer except: await message.answer('Что-то пошло не так....')
async def answer_q1(message: types.Message, state: FSMContext): try: answer = message.text cid = get_cid_by_name(answer) grades = get_my_grades(message.from_user.id, cid, 1) g = [] for i in grades: g.append(i[3]) strgrades = str(g) await message.answer("Ваши оценки " + strgrades, reply_markup=ReplyKeyboardRemove()) except: await message.answer('Что-то пошло не так....') await state.finish()
async def enter_test(message: types.Message): try: cid = get_cid_by_tid(message.from_user.id) list_of_students = get_list_of_student_from_cours(cid) list_of_marks = [] for student in list_of_students: grades = get_my_grades(student[0], cid, 1) if len(grades) == 0: list_of_marks.append(0) else: list_of_marks.append(sum(grades)/len(grades)) result = sum(list_of_marks)/len(list_of_marks) await message.answer("Средняя оценка по курсу: "+result) except: await message.answer('Что-то пошло не так...')
async def answer_q1(message: types.Message, state: FSMContext): try: answer = message.text cid = get_cid_by_name(answer) list_of_students = get_list_of_student_from_cours(cid) list_of_all_grades = [] for student in list_of_students: list_of_all_grades = list_of_all_grades + [ i[3] for i in get_my_grades(student[0], cid, 1) ] if len(list_of_all_grades) == 0: await message.answer("По данному предмету не выставленны оценки") else: await message.answer( "Средняя оценка по курсу: " + str(sum(list_of_all_grades) / len(list_of_all_grades))) except: await message.answer('Что-то пошло не так...') await state.finish()
async def enter_test(message: types.Message): try: cid = get_cid_by_tid(message.from_user.id) list_of_students = get_list_of_student_from_cours(cid) list_of_student_marks = [] for student in list_of_students: grades = get_my_grades(student[0], cid, 1) if len(grades) == 0: list_of_student_marks.append((student[0], 0)) else: list_of_student_marks.append((student[0], sum(grades) / len(grades))) top5 = sorted(list_of_student_marks, key=lambda res: res[1]) result = "" for res in top5: info = get_info_about_me(res[0])[0] result = result + f"{info[1]} {info[2]} : {res[1]}\n" await message.answer("Топ 5 студентов п ооценкам:\n"+result) except: await message.answer('Что-то пошло не так...')
async def answer_q1(message: types.Message, state: FSMContext): try: # получаем ответ answer = message.text # проверяем входные параметры cid = get_cid_by_name(answer) grades = get_my_grades(message.from_user.id, cid, 1) # Получаем оценки g = [] for i in grades: g.append(i[3]) # считаем среднее арифметическое if len(g) != 0: stats = sum(g)/len(g) else: stats = 0 # Отсылаем ответ пользователю await message.answer("Ваша средняя оценка по курсу " + stats, reply_markup=ReplyKeyboardRemove()) except: await message.answer('Что-то пошло не так....') await state.finish()
async def answer_q1(message: types.Message, state: FSMContext): try: answer = message.text cid = get_cid_by_name(answer) list_of_students = get_list_of_student_from_cours(cid) list_of_student_marks = [] for student in list_of_students: grades = [i[3] for i in get_my_grades(student[0], cid, 1)] if len(grades) == 0: list_of_student_marks.append((student[0], 0)) else: list_of_student_marks.append( (student[0], sum(grades) / len(grades))) top5 = sorted(list_of_student_marks, key=lambda res: res[1], reverse=True)[:5] result = "" for res in top5: info = get_info_about_me(res[0])[0] result = result + f"{info[1]} {info[2]} : {res[1]}\n" await message.answer("Топ 5 студентов по оценкам:\n" + result) except: await message.answer('Что-то пошло не так...') await state.finish()