Сертификация миксологии «Сообщества» (телевизионный эпизод, 2010 г.) — Дональд Гловер в роли Троя Барнса
Джефф Вингер : Троя. Думаю, я должен тебе день рождения.
Трой Барнс : Я крут. На самом деле я всегда хотел водить эту штуку.
Джефф Вингер
:
Что? О, это моя машина? Не разбивайте его.
Трой Барнс : Я не собираюсь разбивать его.
Бритта Перри : Разбей его, Трой.
Джефф Вингер
:
Иди спать, Бритта, иди спать.
Бритта Перри : Разбей его машину, Трой.
Абед Надир : Это похоже на темную главу в нашей истории.
Бритта Перри
:
Иди спать, Эбед.
Абед Надир : Прохладный.
Бритта Перри : Эй, это то место, куда мы должны были пойти сегодня вечером.
Джефф Вингер
:
Да, Л Стрит, точно.
Бритта Перри : Это Красная Дверь, дурак. Вы видите знак с надписью L Street?
Джефф Вингер : L Street слишком крутая, чтобы иметь знак. Он называется L Street по названию улицы, на которой он находится.
Бритта Перри
:
Красная дверь находится на L Street.
Джефф Вингер : На L Street есть красный…
[Джефф и Бритта смеются]
Джефф Вингер
:
[Трой блокирует тормоза, шины визжат]
Привет.
Трой Барнс : Это тот самый бар? Вы двое всю ночь говорили, что один бар отстойный, а другой потрясающий, и это один и тот же бар? я
Бритта Перри : Ну, он, вероятно, ходит туда по вечерам в пятницу, что отстойно.
Джефф Вингер
:
Ты хочешь.
Трой Барнс : Стоп, просто остановись. Я просто провел последние два года, думая, что вы, ребята, знаете о жизни больше, чем я, и я только что обнаружил, что вы, ребята, такие же тупые, как и я.
Бритта Перри : Ду-дой.
Джефф Вингер : Ага.
Трой Барнс : Понятно. Ду-дой.
[смеется]
Трой Барнс : Ду-дой.
[Троя включает передачу и едет]
#!/usr/bin/env Python | |
### Скрипт для расчета вашего зеркального события и | |
### извлечь историческую информацию с onthisday.![]() | |
### Авторы: Хан Чен @hchen725 и Робин Мейерс @robinmeyers | |
### Навеяно этим твитом Вольфганга Хубера | |
### https://twitter.com/wolfgangkhuber/status/1435525232136232963 | |
###, который гласит: «Какое у вас зеркальное событие (день рождения — возраст)?» | |
### использование: mirror_event.py <день рождения в формате ГГГГ-ММ-ДД> | |
### пример вывода: | |
################################################## ####################################### | |
# | № | |
# __ ____ | ____ __ № | |
# / |/ (_)_____________ _____ | _____ ___________(_) \| \# | |
# / /|_/ / / ___/ ___/ __ \/ ___/ | \___ \/ __ \___ \___ \ \ \_|\ \ # | |
# / / / / / / / / / /_/ / / | \\\_\\\\\\\\\\# | |
# /_/ _/_/_/_/ /_/ \____/_/_ | _\_\____/ \_\ \_\_\_\_ \_\ # | |
# / ____/ _____ ____ / /_ | _\ \ ____ _____ \____ \ # | |
# / __/ | | // _ \/ __ \/ __/ | \__ \/ __ \/ _ \ \ | | \__\# | |
# / /___ | |/ / __/ / / / /_ | _\ \ \ \ \__ \ \| | ___\\# | |
# /_____/ |___/\___/_/ /_/\__/ | \__/\_\ \_\___/\___| \_____\ # | |
# | № | |
# Дата рождения # | |
# Последние 18 912 дней | 18 912 дней Сегодня # | |
# <--------------------------------------------------|---------- ----------------------------> # | |
# Сб 23 марта 1918 Чт 01 января 1970 Вт 12 октября 2021 # | |
## | |
# Ваши ЗЕРКАЛЬНЫЕ СОБЫТИЯ В этот день: сб 23 марта 1918 # | |
# # | |
# Исторические события: # | |
# — Алик Уикхэм ныряет на 200 футов в реку Ярра в Австралии # | |
# — Немецкие войска продвинулись на 14 миль к реке Сомма (Первая мировая война) # | |
# — Германия начинает использовать дальнобойное орудие «Кайзер Вильгельм Гешютц» («Император № | |
# William Gun’), он же ‘Paris Gun’ для обстрела Парижа из Крепи-ан-Лаонне, 75 # | |
# миль; за несколько дней 303 выстрела убили 256 и ранили более 600 # | |
# — Литва провозглашает независимость # | |
# # | |
# Известные рождения: # | |
# — Гранвиль «Sticks» МакГи, американский блюзовый гитарист, певец и автор песен # | |
# («Пить вино, Спо-Ди-О-Ди»), родился в Ноксвилле, Теннесси (ум.![]() | |
# # | |
# Известные смерти: # | |
# — Сезар Кортинас, уругвайский композитор, умер в возрасте 27 лет # | |
################################################## ####################################### | |
импорт ос | |
импорт математики | |
запросов на импорт | |
из bs4 импортировать BeautifulSoup | |
импортировать панд как pd | |
импорт даты и времени | |
из даты и времени импорта даты и времени как DT | |
календарь импорта | |
импортировать текстовую обертку | |
определение get_current_date(): | |
current_date = datetime.![]() | |
вернуть текущую_дату | |
определение формат_дня рождения (ввод): | |
год, месяц, день = карта (целое число, input.split (‘-‘)) | |
дата рождения = дата/время.дата(год, месяц, день) | |
вернуть дату рождения | |
по определению calculate_past_date (текущее, рождение): | |
дня = текущий — | рождения|
прошлое = день рождения — | дней|
возврат (прошлое, дней) | |
по определению query_onthisday (дата): | |
url = ‘https://www.![]() | |
html = запросы.get(url).content | |
суп = BeautifulSoup(html, features = ‘lxml’) | |
возвратный суп | |
деф get_events(суп): | |
исторические_события = суп.найти_все (класс_ = ‘событие’) | |
для x в диапазоне (0, len (исторические_события)): | |
history_events[x] = str(history_events[x]).![]() | |
человека = суп.найти_все(класс_ = ‘человек’) | |
для x в диапазоне (0, len (люди)): | |
человек[x] = str(люди[x]).replace(‘ | |
known_births = [строка для строки в людях, если «родился» в строке] | |
known_deaths = [строка для строки в людях, если «умирает» в строке] | |
возврат {‘исторические_события’ : исторические_события, ‘знаменитые_рождения’ : известные_рождения, ‘известные_смерти’ : известные_смерти} | |
def mirror_event_header (ширина): | |
анси = р»»» | |
__ ____ | |
/ |/ (_)_____________ _____ | |
/ /|_/ / / ___/ ___/ __ \/ ___/ | |
/ / / / / / / / / /_/ / / | |
/_/ _/_/_/_/ /_/ \____/_/_ | |
/ ____/ _____ ____ / /_ | |
/ __/ | | // _ \/ __ \/ __/ | |
/ /___ | |/ / __/ / / / /_ | |
/_____/ |___/\___/_/ /_/\__/ | |
«»» | |
rev_ansi = р»»» | |
____ __ | |
_____ _____________(_) \| \ | |
\___ \/ __ \___ \___ \ \ \_|\ \ | |
\\\_\\\\\\\\\\ | |
_\_\____/ \_\ \_\_\_\_ \_\ | |
_\ \ ____ _____ \____ \ | |
\__ \/ __ \/ _ \ \ | | \__\ | |
_\ \ \ \ \__ \ \| | ___\\ | |
\__/\_\ \_\___/\___| \_____\ | |
«»» | |
mirror_ansi = [int((width-3)/2-len(f))*» » + f + » | » + r + int((width-3)/2-len(r))*» » для f,r в zip(ansi.![]() | |
возврат «\n».join(mirror_ansi) | |
def print_header (текущая_дата, дата рождения, прошедшая_дата, число_дней, ширина): | |
past_date_format = past_date.strftime(«%a %b %d, %Y») | |
формат_даты_рождения = дата_рождения.strftime(«%a %b %d, %Y») | |
current_date_format = current_date.strftime(«%a %b %d, %Y») | |
num_days_format = «{:,}».format(num_days.![]() | |
n_spaces = макс (1, интервал ((ширина-9)/2)) | |
строка1 = n_spaces*» » + «Дата рождения» + n_spaces*» » | |
печать («\n» + зеркало_события_заголовка (ширина)) | |
печать (строка 1) | |
n_spaces = max(2, int((ширина — 11 — 2*len(num_days_format))/2)) | |
n_spaces_1 = макс (1, math.floor (0,5 * n_spaces)) | |
n_spaces_2 = макс.![]() | |
строка2 = «Прошлое » + n_spaces_1*» » + num_days_format + n_spaces_2*» » + «|» + n_spaces_2*» » + num_days_format + n_spaces_1*» » + «Сегодня» | |
печать (строка 2) | |
строка3 = «<" + int((width-7)/2)*"-" + "|" + int((ширина-7)/2)*"-" + "> » | |
печать (строка 3) | |
n_spaces_3 = max(1, math.![]() | |
n_spaces_4 = max(1, width — len(format_current_date) — len(format_date_format) — len(format_past_date_format) — n_spaces_3) | |
строка4 = формат_прошлой_даты + n_spaces_3*» » + формат_даты_рождения + n_пробелов_4*» » + формат_текущей_даты | |
печать (строка 4) | |
def print_events (события, прошедшая_дата, ширина): | |
исторические_события = события[‘исторические_события’] | |
знаменитые_рождения = события[‘известные_рождения’] | |
известные_смерти = события[‘известные_смерти’] | |
past_date_format = past_date.![]() | |
print(«\nВаши ЗЕРКАЛЬНЫЕ СОБЫТИЯ В этот день: » + past_date_format) | |
, если длина (исторические_события) > 0: | |
print(«\nИсторические события: «) | |
для x в диапазоне (0, len (исторические_события)): | |
печать (textwrap.fill (исторические_события [x], ширина = ширина, начальный_отступ = «-«, последующий_отступ = «»)) | |
, если len(famous_births) > 0: | |
print(«\nИзвестные рождения: «) | |
для x в диапазоне (0, len(famous_births)): | |
print(textwrap.![]() | |
, если len(famous_deaths) > 0: | |
print(«\nИзвестные смерти: «) | |
для x в диапазоне (0, len(famous_deaths)): | |
print(textwrap.fill(famous_deaths[x], width = width, initial_indent = «-«, after_indent = «»)) | |
def mirror_events (дата рождения, ширина): | |
дата рождения = формат_дня рождения (дата рождения) | |
текущая_дата = get_current_date() | |
past_date, num_days = calculate_past_date (current_date, дата рождения) | |
суп = запрос_в этот день (прошедшая_дата) | |
# Получить события | |
события = get_events(суп) | |
если (ширина % 2 == 0): | |
ширина = ширина — 1 | |
print_header(текущая_дата, дата рождения, прошедшая_дата, число_дней, ширина) | |
print_events(события, прошедшая_дата, ширина) | |
, если __name__ == «__main__»: | |
################################################## ############################## | |
импорт аргумента | |
parser = argparse.![]() |