Нагадати мені знову?


9

Вступ

Коли-небудь чули про нагадування? Ні? Ні я не був приблизно 2 роки тому. Основна передумова цього - вчителі надсилати нагадування та спілкуватися зі своїми учнями. Досить акуратно, правда? Це навіть дозволяє відправляти емоції та реагувати на повідомлення! Що я роблю щодня.

Але одне про нагадування - це те, що вчителі завжди надсилають "Робіть домашні завдання!" "Якщо цього не зробити, ви отримаєте F!". Але є і корисні речі, такі як "Тест у вівторок" або випадкові "Приємного дня!". Я майже завжди відповідаю із великими пальцями вгору, але іноді мені доводиться класти великі пальці вниз.

Виклик

Ваше завдання сьогодні - з’ясувати, чи має повідомлення певне конотацію до нього. Якщо це має позитивну конотацію, відповідайте великими пальцями вгору. Якщо він має негативну конотацію, відповідайте великими пальцями вниз.

Як я повинен виявити конотації?

У позитивній конотації зазвичай є 3 слова. 3 слова є: Щасливі, добрі та пройшли .

Негативна конотація також матиме 3. Ці 3: Тест, Невдача та Домашнє завдання .

Для чого я тестую?

Ви перевіряєте, чи містить повідомлення позитивну, негативну чи обидві конотації.

Якщо повідомлення має позитивні конотації до нього, продовжуйте та повертайте кодову точку Unicode для великих пальців (U + 1F44D).

Якщо до нього є негативні конотації, поверніть код коду Unicode для великих пальців вниз (U + 1F44E).

Якщо повідомлення має як негативні, так і позитивні конотації, поверніть кодову точку для нейтрального обличчя (U + 1F610).

Якщо з якихось інших причин він не має жодної конотації, поверніть приємну плечу (¯ \ _ (ツ) _ / ¯). Якщо плечима не відображається правильно, ось посилання на Емоджипедію до плеча

Обмеження

  • Програма повинна приймати повідомлення як вхід.
  • Позитивні конотації повинні повертати кодову точку вгору (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

Вам потрібно уникнути цього
пруд

це добре, тестовий випадок має повну
плечиму

1
"Якщо повідомлення має обидві конотації, поверніть нейтральну точку коду обличчя (U + 1F610)." І ні, не чутливі до регістру.
KuanHulio

Для уточнення: якщо рядок містить обидва типи слів, поверніться нейтрально, незалежно від того, чи є більше одного типу, ніж іншого?
Кудлатий

@Shaggy так, просто поверніться нейтрально
KuanHulio

Відповіді:


2

Пітон 3 , 182 166 159 151 байт

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

Спробуйте в Інтернеті!


ви можете вставити обидва anys всередині друку:d[any(<positive>)+any(<negative>)*2]
Rod

1
Я отримую 182 байти UTF-8 замість 169
користувач41805

utf завжди змушує мене забути зайві байти, я зазвичай просто використовую функцію python's len () у своєму коді. Відредагує
мармісти

"👍👎😐"добре працює для мене. на якій версії пітона ви перебуваєте?
Мартисти

Я не перевіряв цього, але думаю, що ви можете зробити це 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)]

Тестові приклади:


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]}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.