Untitled
from random import choice questions_dict = { 1: "Для мене як негативні, так і позитивні емоції служать джерелом знання про те, як чинити в житті.", 2: "Негативні емоції допомагають мені зрозуміти, що я повинен змінити у своєму житті.", 3: "Я спокійний, коли відчуваю тиск з боку.", 4: "Я здатний спостерігати зміну своїх почуттів.", 5: "Коли необхідно, я можу бути спокійним і зосередженим, щоб діяти відповідно до запитів життя.", 6: "Коли необхідно, я можу викликати у себе широкий спектр позитивних емоцій, таких як веселощі, радість, внутрішній підйом і гумор.", 7: "Я стежу за тим, як я себе почуваю.", 8: "Після того як щось засмутило мене, я можу легко впоратися зі своїми почуттями.", 9: "Я здатний вислуховувати проблеми інших людей.", 10: "Я не зациклююсь на негативних емоціях.", 11: "Я чутливий до емоційних потреб інших.", 12: "Я можу діяти на інших людей заспокійливо.", 13: "Я можу змусити себе знову і знову встати перед обличчям перешкоди.", 14: "Я намагаюся підходити до життєвих проблем творчо.", 15: "Я адекватно реагую на настрої, спонукання і бажання інших людей.", 16: "Я можу легко входити в стан спокою, готовності і зосередженості.", 17: "Коли дозволяє час, я звертаюся до своїх негативним почуттям і розбираюся, в чому проблема.", 18: "Я здатний швидко заспокоїтися після несподіваного засмучення.", 19: "Знання моїх справжніх почуттів важливо для підтримки 'хорошої форми'.", 20: "Я добре розумію емоції інших людей, навіть якщо вони не виражені відкрито.", 21: "Я можу добре розпізнавати емоції за виразом обличчя.", 22: "Я можу легко відкинути негативні почуття, коли необхідно діяти.", 23: "Я добре вловлюю знаки у спілкуванні, які вказують на те, в чому інші потребують.", 24: "Люди вважають мене добрим знавцем переживань інших.", 25: "Люди, які усвідомлюють свої справжні почуття, краще управляють своїм життям.", 26: "Я здатний поліпшити настрій інших людей.", 27: "Зі мною можна порадитися з питань відносин між людьми.", 28: "Я добре налаштовуюся на емоції інших людей.", 29: "Я допомагаю іншим використовувати їх спонукання для досягнення особистих цілей.", 30: "Я можу легко відключитися від переживання неприємностей." } answers_dict = { -3: "Повністю не згоден", -2: "В основному не згоден", -1: "Почасти не згоден", 1: "Частково згоден", 2: "В основному згоден", 3: "Повністю згоден" } class Question: def __init__(self, q_type, number) -> None: self.q_type: int = q_type self.number: int = number self.answer: int = None scale_1 = [Question(1, x) for x in (1, 2, 4, 17, 19, 25)] scale_2 = [Question(2, x) for x in (3, 7, 8, 10, 18, 30)] scale_3 = [Question(3, x) for x in (5, 6, 13, 14, 16, 22)] scale_4 = [Question(4, x) for x in (9, 11, 20, 21, 23, 28)] scale_5 = [Question(5, x) for x in (12, 15, 24, 26, 27, 29)] scales = (scale_1, scale_2, scale_3, scale_4, scale_5) class Person: def __init__(self, name, surname) -> None: self.name = name self.surname = surname self.answers = [] def generate(self, a, b, c, d, e): for scale, needed in zip(scales, (a, b, c, d, e)): final = [] while True: my_answers = [] for question in scale: q = question q.answer = choice((-3, -2, -1, 1, 2, 3)) my_answers.append(q) sum_of = sum(answer.answer for answer in my_answers) if sum_of == needed: final.append(my_answers) break self.answers.extend(final) self.answers = [item for sublist in self.answers for item in sublist] self.answers = sorted( self.answers, key=lambda x: x.number ) #a = Person("Ivan", "Ivanko") #a.generate(7, 13, 13, 8, 7) #for answer_set in a.answers: # for answer in answer_set: # print( f"{questions_dict[answer.number]}\n{answers_dict[answer.answer]}" ) if __name__ == '__main__': print("Кішко-генератор, введіть дані у форматі 'Іван Іванович Іванов 7 7 7 7 7'...") while 1: parsed_input = input( "Мяу: " ).split(" ") ( name, otch, surname, a, b, c, d, e ) = parsed_input pers = Person( name, surname ) pers.generate( int(a), int(b), int(c), int(d), int(e) ) print("\n\n\n*************************************************************************************\n") print("Діагностика 'емоційного інтелекту' (Н. Холл)\n\n\n") print(f"ПІБ: {pers.name} {otch} {pers.surname}\n") for q in pers.answers: print( f"{q.number}. {questions_dict[q.number]}" ) print( f"Відповідь: {answers_dict[q.answer]} [{q.answer}]" ) print()
Leave a Comment