Напомнить мне еще раз?

9

Введение

Вы когда-нибудь слышали о Remind? Нет? Так и было до 2 лет назад. Основная предпосылка для учителей - отправлять напоминания и общаться со своими учениками. Довольно аккуратно, правда? Это даже позволяет отправлять эмоции и реагировать на сообщения! Что я делаю ежедневно.

Но, одна вещь о Напоминании - то, что учителя всегда посылают "Сделай свою домашнюю работу!" «Если вы этого не сделаете, вы получите F!». Но есть и полезные вещи, такие как «Тест во вторник» или случайные «Хорошего дня!». Я почти всегда отвечаю довольным большими пальцами вверх, но иногда мне приходится опускать большие пальцы вниз.

Вызов

Ваша задача сегодня - выяснить, имеет ли сообщение определенный смысл. Если у этого есть положительное значение для этого, ответьте большими пальцами. Если оно имеет отрицательный оттенок, ответьте большим пальцем вниз.

Как я должен обнаружить коннотации?

Положительный оттенок обычно содержит 3 слова. 3 слова: счастливы, хороши и пройдены .

Отрицательный оттенок также будет иметь 3. Те 3: тест, провал и домашнее задание .

Что я проверяю?

Вы проверяете, содержит ли сообщение положительную, отрицательную или обе коннотации.

Если сообщение имеет положительную коннотацию, вернитесь и верните кодовую точку Unicode для больших пальцев (U + 1F44D).

Если он имеет отрицательную коннотацию, верните кодовую точку Юникода для больших пальцев вниз (U + 1F44E).

Если сообщение имеет как отрицательную, так и положительную коннотации, верните кодовую точку для нейтральной грани (U + 1F610).

Если по какой-либо другой причине он не имеет ни одного коннотации, верните хороший пожав плечами (¯ \ _ (ツ) _ / ¯). Если пожимание плечами не появляется правильно, вот ссылка Emojipedia на пожимание плечами

Ограничения

  • Программа должна принять сообщение в качестве ввода.
  • Положительные коннотации должны возвращать кодовую точку (U + 1F44D)
  • Отрицательные коннотации должны возвращать код вниз (U + 1F44E).
  • Если сообщение имеет обе коннотации, вернуть точку кода нейтральной грани (U + 1F610).
  • Если сообщение не имеет коннотаций, верните плечи (¯ \ _ (ツ) _ / ¯).
  • Это Кратчайшие байты выигрывают

Тестовые случаи.

Input -> Output
Happy Good Friday! -> U+1F44D
Congrats, you just played yourself -> ¯\_(ツ)_/¯
You failed the test. -> U+1F44E
Good job on the test. -> U+1F610
KuanHulio
источник
Вам нужно избежать этого
Род
все в порядке, тестовый случай полностью
пожимает
1
«Если сообщение имеет оба значения, верните нейтральную точку кода лица (U + 1F610)». И нет, не с учетом регистра.
КуанХулио
Чтобы уточнить: если строка содержит оба типа слов, вернуть нейтральный, независимо от того, существует ли больше одного типа, чем другой?
Лохматый
@ Шэгги да, просто вернись нейтрально
KuanHulio

Ответы:

2

Python 3 , 182 166 159 151 байт

c=input().lower().count
print((["¯\_(ツ)_/¯"]+list("👍👎😐"))[any(map(c,["good","happy","passed"]))+any(map(c,["fail","test","homework"]))*2])

Попробуйте онлайн!

Martmists
источник
Вы можете вставить оба anys внутри печати:d[any(<positive>)+any(<negative>)*2]
Род
1
Я получаю 182 байта UTF-8 вместо 169
user41805
utf всегда заставляет меня забыть дополнительные байты, я обычно использую функцию python len () в своем коде. Будет ли редактировать
Martmists
"👍👎😐"у меня отлично работает на какой версии Python вы работаете?
Мартовцы
Я не проверял это, но я думаю, что вы могли бы сделать print(d[("good"in m or"happy"in m or"passed"in m)+("bad"in m or"test"in m or"homework"in m)*2])вместо этого
Джеймс
0

JavaScript, в кодировке UTF-8, 100 байт

s=>['¯\_(ツ)_/¯',...'👎👍😐'][2*/happy|good|passed/i.test(s)+/test|fail|homework/i.test(s)]

Тестовые случаи:

GOTO 0
источник
0

Powershell, 190 байт

"$($s=Read-host;"$s ->";$1=("Test","Fail","Homework"|?{$s-match$_});$2=("Happy","Good","Passed"|?{$s-match$_});if($1-and$2){"😐"}elseif($1){"👎"}elseif($2){"👍"}else{"¯\_(ツ)_/¯"})"

Отображает вход и выход рядом друг с другом.

С наступлением Страстной пятницы! -> 👍

Поздравляю, вы просто играли сами -> ¯ \ _ (ツ) _ / ¯

Вы провалили тест -> 👎

Хорошая работа на тесте. -> 😐

Майк
источник
0

PowerShell, 187 байт

read-host|%{$s=$_;$f=0;0..5|?{$s.indexof((-split'Happy Good Passed Test Fail Homework')[$_],0,$s.length,3)+1}|%{$f=$f-bor(1,2)[$_/3]};$s+' -> '+('¯\_(ツ)_/¯','👍','👎','😐')[$f]}
Андрей Одегов
источник