Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Этот сервис я выбрал как один из самых распространенных, удобных и не требующих сложных действий вроде регистрации ИП или заключения договоров. Зачем нам эта бюрократия? Нам работать надо!
Писать будем на Python, хотя, внимательно изучив примеры, ты сможешь при желании воспроизвести их на другом языке.
Итак, дано: есть программа, единственная функция которой — выводить на экран текстовое сообщение. Если программа работает в деморежиме, то сообщение будет «Демка», если в полноценном, то «Программа зарегистрирована». Демка бесплатна, полная версия будет стоить рубль (дороже такое вряд ли кто‑то купит).
Требуется: прикрутить к нашей программе возможность платно переключаться из деморежима в полноценный, при этом желательно вообще без нашего участия.
Вот наша программа:
def get_ID():
# Тут надо вставить генерацию уникального ключа,
# но для иллюстрации сойдет и просто константа,
# задаваемая вручную для каждого экземпляра ПО
return 1
def get_key_from_file(file_name):
try:
key_file = open(file_name, "r")
key = key_file.read()
return key
except:
return 0
def check_key():
key = int(get_key_from_file('key.txt'))
# Такой вот простой алгоритм генерации ключа
# В реальной программе следует придумать посложнее
if key == get_ID() * 2:
return True
else:
return False
if check_key():
print('Программа зарегистрирована!')
else:
print('Демка!')
Алгоритм работы такой:
user_id
.Нам нужно реализовать возможность получения ключа в автоматическом режиме, то есть без участия создателя программы. Ключ должен выдаваться каждому свой, в зависимости от ID, и только тем, кто нам заплатил.
|
|