Введение
В современном мире разработка приложений стала одним из ключевых направлений в информационных технологиях. Создание приложения на языке программирования Python является актуальным и востребованным процессом. Актуальность темы проекта обусловлена развитием компьютерных технологий и необходимостью серьезного изучения программирования. Python – это высокоуровневый объектно-ориентированный язык программирования, который является перспективным и простым для изучения.
В современном мире также стали популярны изотерические учения. Меня заинтересовало направление нумерологии, а именно то, что она изучает взаимосвязь чисел с разными аспектами жизни человека. С помощью нумерологии можно интерпретировать характер, предсказать будущее и проанализировать прошлое и настоящее. Определение числа Судьбы помогает людям понять свое предназначение и выбрать направление развития.
В данном проекте я решил соединить эти два направления и поставил цель работы – создать приложение для определения числа Судьбы.
Для достижения поставленной цели необходимо решить следующие задачи:
Изучить информацию о нумерологии, как изотерическом учении.
Разобраться с приемами вычисления числа Судьбы.
Разработать дизайн приложения.
Определить структуру программы для описания приложения.
Написать программный код.
Глава 1. Теоретические сведения
Что такое нумерология
Нумерология – это учение о взаимосвязи цифр и разных аспектов жизни человека. В нумерологии каждое число имеет определенные качества и характеристики, которые могут влиять на человека. Само число Судьбы определяется на основе даты рождения и показывает главные черты характера и жизненный путь человека.
Например, если вы родились 9 сентября 1990 года, то на листочке необходимо записать 09 09 1990. Затем, складываем все цифры: 0 + 9 + 0 + 9 + 1 + 9 + 9 + 0 = 37. В итоге нужно получить всего одну цифру, поэтому складываем 3 + 7 = 10. Проделываем манипуляцию еще раз: 1 + 0 = 1. Таким образом, число вашей судьбы 1.
Основная идея нумерологии заключается в том, что каждое число имеет свою энергию и символизирует определенные качества и характеристики.
1 – символизирует новое начало, индивидуальность, лидерство, силу воли и независимость.
Люди, чье число судьбы равно 1, обычно являются руководителями, творческими личностями и имеют талант к самовыражению.
2 – это число гармонии, сотрудничества, чувствительности и дипломатии.
Люди, у которых число судьбы равно 2, обычно стремятся к миру и гармонии в отношениях, они дружелюбны, отзывчивы и сочувственны.
3 – символизирует творчество, общение, оптимизм и веселье.
Люди с числом судьбы 3 обычно обладают художественным талантом, хорошим чувством юмора и умением общаться с окружающими.
4 – это число стабильности, порядка, твердости и реализма.
Люди с числом судьбы 4 обычно ответственны, надежны и практичны, они стремятся к устойчивости и надежности во всех аспектах жизни.
5 – символизирует свободу, изменения, приключения и адаптацию. Люди с числом судьбы 5 обычно стремятся к разнообразию и новым возможностям, они любят перемены и остаются открытыми для новых идей.
6 – это число гармонии, семьи, любви и заботы.
Люди с числом судьбы 6 обычно заботятся о своих близких, стремятся к гармонии в отношениях и любят создавать уют и комфорт в доме.
7 – символизирует мудрость, анализ, духовность и интуицию.
Люди с числом судьбы 7 обычно обладают глубоким внутренним миром, интересуются духовными практиками и стремятся к познанию истины.
8 – это число власти, достижений, материального успеха и энергии. Люди с числом судьбы 8 обычно амбициозны, целеустремленны и успешны в достижении своих целей, они привлекают деньги и материальное благополучие.
9 – символизирует завершение цикла, духовный рост, сострадание и душевное благополучие.
Люди с числом судьбы 9 обычно открыты для окружающих, стремятся к гармонии и миру в мире, они имеют сильные эмоциональные привязанности и способны проявлять сострадание к другим.
История нумерологии
Традиция соотносить слова с числами и присваивать им значения появилась еще до нашей эры. Она существовала в Вавилоне, Китае, Древнем Египте. В те дни представители древних цивилизаций верили, что числа обладают божественной силой, что позволило людям узнать больше о жизни и Боге. Христиане, иудеи и арабы активно пользовались нумерологией для трактовки священных текстов, которые содержали много чисел.
Со временем ученые постепенно переключали свое внимание с религиозных трактатов на окружающий мир, не забывая при этом, что он создан богом.
Другая волна нумерологии началась в Греции греческими философами, особенно Пифагором, который в наши дни считается отцом нумерологии из-за объема знаний, который он собрал и которым поделился. Согласно Пифагору, числа играют важную роль в определении природы чего‑либо.
В начале XX века в английский язык вошло слово «нумерология». Этот факт зафиксировали в Оксфордском словаре.
Нумерология предполагает, что каждый человек имеет свой уникальный путь в жизни, и дата рождения лишь часть этого пути. Люди с одинаковой датой рождения могут иметь разные судьбы и жизненные пути, так как на их жизнь влияют множество других факторов.
К подлинной науке это учение относится так же, как алхимия к химии или астрология к астрономии. Одни серьезно верят в мистические связи между числами и истиной природой человека, а другие увлекаются этим ради веселья.
Я решил создать программу и рассчитать число Судьбы по дате рождения.
Глава 2. Описание создания приложения
Почему я выбрал именно Python?
Я знаком с несколькими языками программирования. Но для написания программы решил использовать Python, потому что у меня есть опыт использования его. А также, это один из универсальных языков программирования, с помощью него можно создать многие вещи. На этом языке пишут сайты, игры и приложения, работают с данными и даже создают искусственный интеллект. Простой и понятный синтаксис делает Python удобным для начинающих программистов.
Принцип работы программы
При запуске программы на экране появляется окно ввода данных. Программа получает дату рождения на рисунке 1:
Рисунок 1. Окно ввода данных
После этого стартует анимация в виде падающих разноцветных шаров, внутри которых записана дата рождения (рисунок 2):
Рисунок 2. Анимация
Затем программа высчитывает и выводит число Судьбы в переливающейся звезде, а также выдает трактовку числа. Здесь же предлагается заново посчитать число, либо закончить работу (рисунок 3):
Рисунок 3. число Судьбы
Программный код
Для описания кнопок используется такой класс (т.е. шаблон):
class PyButton:
def __init__(self, window, pos, size, txt, command, widht_of_border=10,
color_of_border=(255, 255, 255), color_of_text=(255, 255, 255), color_of_button=(0, 0, 0)):
"""Инициализациязначений"""
self.pos, self.size, self.txt, self.window = pos, size, txt, window
self.color_of_border, self.command = color_of_border, command
self.color_of_text, self.widht_of_border = color_of_text, widht_of_border
self.color_of_button = color_of_button
def render(self):
"""Эта функция отвечает за отрисовку кнопки."""
pygame.draw.rect(self.window, self.color_of_button, (self.pos[0] - self.size[0] / 2,
self.pos[1] - self.size[1] / 2,
self.size[0], self.size[1]))
pygame.draw.rect(self.window, self.color_of_border, (self.pos[0] - self.size[0] / 2, self.pos[1] - self.size[1] / 2,
self.size[0], self.size[1]), self.widht_of_border)
var = 0
if self.size[1] / 2.5 * len(self.txt) > self.size[0]:
var = self.size[0] – 20
write(self.txt, self.pos, self.size[1], self.window, color=self.color_of_text, widht=var, mode_vert='center')
def on_click(self, event):
"""Эта функция выполняет командку при клике на кнопку"""
if event.type == pygame.MOUSEBUTTONDOWN:
if pygame.Rect((self.pos[0] - self.size[0] / 2,
self.pos[1] - self.size[1] / 2, self.size[0],
self.size[1])).collidepoint(pygame.mouse.get_pos()):
self.command()
Функция, описывающая вычисление числа судьбы, выглядит так:
def your_num(num):
x = num
while len(str(x)) != 1:
x = sum(map(int, list(str(x))))
return int(x)
Функция для правильного написания текста:
def write(txt:str, pos, height, window, mode='center', mode_vert='up', color=(255, 255, 255), font='Comic sans', debug=False, widht=0):
text = txt.split('\n')
width_per_letter = height / 2.5
f, d = '', lambda x: x
if mode_vert == 'up':
f = lambda x: x
elif mode_vert == 'center':
f = lambda x: x - height * len(text) / 3.5
elif mode_vert == 'down':
f = lambda x: x - height * len(text) / 1.5
if widht != 0:
d = lambda x: width
if len(text) == 1:
if debug: pygame.draw.rect(window, (255, 0, 0), (pos[0], pos[1], 10, 10))
if mode == 'left':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),
(d(width_per_letter * len(txt)), height)), (pos[0], f(pos[1] + height * 1 / 1.4 - height)))
elif mode == 'center':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),
(d(width_per_letter * len(txt)), height)), (pos[0] - d(width_per_letter * len(txt)) / 2,
f(pos[1] + height * 1 / 1.4 - height)))
elif mode == 'right':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),
(d(width_per_letter * len(txt)), height)), (pos[0] - d(width_per_letter * len(txt)),
f(pos[1] + height * 1 / 1.4 - height)))
else:
for i in range(1, len(text) + 1):
if debug: pygame.draw.rect(window, (255, 0, 0), (pos[0], pos[1], 10, 10))
if mode == 'left':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),
(d(width_per_letter * len(text[i - 1])), height)), (pos[0], f(pos[1] + height * i / 1.4 - height)))
elif mode == 'center':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),
(d(width_per_letter * len(text[i - 1])), height)), (pos[0] - d(width_per_letter * len(text[i - 1])) / 2,
f(pos[1] + height * i / 1.4 - height)))
elif mode == 'right':
window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),
(d(width_per_letter * len(text[i - 1])), height)), (pos[0] - d(width_per_letter * len(text[i - 1])),
f(pos[1] + height * i / 1.4 - height)))
Определение и вывод виджетов первого окна:
root = Tk()
root.title('Нумерология')
root.geometry('200x200+500+300')
root.resizable(False, False)
day_value, months_value, years_value = '', '', ''
day = Spinbox(root, from_=1, to=31, width=3)
months = Spinbox(root, from_=1, to=12, width=5)
years = Spinbox(root, from_=1900, to=2100, width=5)
start = Button(text='Начатьвычисления!', command=f)
Label(text='Введите вашу дату рождения:').place(x=15, y=15)
day.place(x=15, y=45)
Label(text='- день').place(x=50, y=45)
months.place(x=15, y=80)
Label(text='- месяц').place(x=60, y=80)
years.place(x=15, y=115)
Label(text='- год').place(x=60, y=115)
start.place(x=35, y=155)
root.mainloop()
Заключение
Нумерология – это древнее учение, изучающее влияние чисел на жизнь человека. Она позволяет определить число судьбы, которое отражает основные тенденции и события в жизни человека. В разработанном мной приложении используется программный код на Python для вычисления кода Судьбы на основе даты рождения пользователя.
Это приложение может быть полезным инструментом для самопознания и принятия решений на основе числовых закономерностей.
Целью моей работы являлось создание приложения для определения числа Судьбы. Для достижения поставленной цели я решил следующие задачи:
Изучил информацию о нумерологии, как изотерическом учении.
Разобрался с приемами вычисления числа Судьбы.
Разработал дизайн приложения.
Определил структуру программы для описания приложения.
Написал программный код.
Список литературы
Г. А. Брякалов и др. «Информатика и информационные технологии» – 1-е изд. – СПб.: Корона принт, 2005. – 672 с.
Н. Прохоренок, В. Дронов. «Python и PyQt 5. Разработка приложений» – 2-е изд. – СПб.: Профессиональное Программирование, 2016. – 832 с.
Ю.Д. Романова «Информатика и информационные технологии» – 3-е изд. – Новое Экономическое Образование, 2009. – 688 с.
Python для разработки игр: возможности и неудачи / [Электронный ресурс] // https://dtf.ru: [сайт]. – URL: https://dtf.ru/u/735923-productstar/1674682-python-dlya-razrabotki-igr-vozmozhnosti-i-neudachi (дата обращения: 01.08.2024)
Нумерология: загадочное искусство чисел / [Электронный ресурс] // https://ast.ru : [сайт]. — URL: https://ast.ru/news/numerologiya-zagadochnoe-iskusstvo-chisel/ (дата обращения: 17.07.2024).
Основы нумерологии: откройте тайны чисел / [Электронный ресурс] // https://vc.ru/ : [сайт]. — URL: https://vc.ru/u/2604493-izabella-bairova/1079745-osnovy-numerologii-otkroite-tainy-chisel (дата обращения: 24.08.2024).
Что такое нумерология и почему она не работает / [Электронный ресурс] // https://dzen.ru/ : [сайт]. — URL: https://dzen.ru/a/Zbto2WuKWSlOcX-3 (дата обращения: 15.07.2024).