Erinnern Sie mich noch einmal?

9

Einführung

Schon mal was von Remind gehört? Nein? Ich auch nicht bis vor ungefähr 2 Jahren. Grundvoraussetzung dafür ist, dass Lehrer Erinnerungen senden und mit ihren Schülern kommunizieren. Ziemlich ordentlich, oder? Sie können sogar Emotes senden und auf Nachrichten reagieren! Was ich täglich mache.

Aber eine Sache bei Remind ist, dass die Lehrer immer das "Mach deine Hausaufgaben!" "Wenn Sie dies nicht tun, erhalten Sie ein F!". Aber es gibt auch nützliche Dinge wie "Test am Dienstag" oder gelegentlich "Einen schönen Tag noch!". Ich antworte fast immer glücklich mit einem Daumen nach oben, aber manchmal muss ich einen Daumen nach unten legen.

Herausforderung

Ihre heutige Aufgabe ist es herauszufinden, ob eine Nachricht eine bestimmte Konnotation hat. Wenn es eine positive Konnotation hat, antworten Sie mit einem Daumen nach oben. Wenn es eine negative Konnotation hat, antworten Sie mit einem Daumen nach unten.

Wie soll ich Konnotationen erkennen?

Eine positive Konnotation enthält normalerweise 3 Wörter. Die 3 Wörter sind: Glücklich, gut und bestanden .

Eine negative Konnotation hat auch 3. Diese 3: Test, Fail und Hausaufgaben .

Worauf teste ich?

Sie testen, ob eine Nachricht positive, negative oder beide Konnotationen enthält.

Wenn eine Nachricht eine positive Konnotation hat, geben Sie den Unicode- Codepunkt für Daumen hoch (U + 1F44D) zurück.

Wenn es negative Konnotationen hat, geben Sie den Unicode-Codepunkt für Daumen nach unten zurück (U + 1F44E).

Wenn die Nachricht sowohl negative als auch positive Konnotationen hat, geben Sie den Codepunkt für eine neutrale Fläche zurück (U + 1F610).

Wenn es aus einem anderen Grund keine der beiden Konnotationen hat, geben Sie ein nettes altes Achselzucken zurück (¯ \ _ (ツ) _ / ¯). Wenn das Achselzucken nicht richtig angezeigt wird , finden Sie hier den Emojipedia-Link zum Achselzucken

Einschränkungen

  • Das Programm muss eine Nachricht als Eingabe verwenden.
  • Positive Konnotationen müssen Daumen hoch Code Punkt (U + 1F44D) zurückgeben
  • Negative Konnotationen müssen den Daumen nach unten Codepunkt (U + 1F44E) zurückgeben.
  • Wenn die Nachricht beide Konnotationen hat, geben Sie den neutralen Gesichtscodepunkt (U + 1F610) zurück.
  • Wenn die Nachricht keine Konnotation hat, geben Sie das Achselzucken zurück (¯ \ _ (ツ) _ / ¯).
  • Dies ist , kürzeste Bytes gewinnen

Testfälle.

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
quelle
Sie müssen es entkommen
Rod
Es ist in Ordnung, der Testfall hat das volle Achselzucken
KuanHulio
1
"Wenn die Nachricht beide Konnotationen hat, geben Sie den neutralen Gesichtscodepunkt (U + 1F610) zurück." Und nein, nicht zwischen Groß- und Kleinschreibung unterscheiden.
KuanHulio
Zur Verdeutlichung: Wenn die Zeichenfolge beide Wortarten enthält, geben Sie neutral zurück, unabhängig davon, ob es mehr von einem Typ als den anderen gibt.
Shaggy
@ Shaggy ja, nur neutral zurückkehren
KuanHulio

Antworten:

2

Python 3 , 182 166 159 151 Bytes

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

Probieren Sie es online aus!

Martmisten
quelle
Sie können beide anys in den Druck einfügen :d[any(<positive>)+any(<negative>)*2]
Rod
1
Ich bekomme 182 UTF-8 Bytes anstelle von 169
user41805
utf lässt mich immer zusätzliche Bytes vergessen. Normalerweise verwende ich nur die len () -Funktion von Python für meinen Code. Wird bearbeiten
Martmists
"👍👎😐"funktioniert gut für mich. Auf welcher Python-Version bist du?
Martmists
Ich habe es nicht getestet, aber ich denke, Sie könnten es 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])stattdessen tun
James
0

JavaScript, UTF-8-codiert, 100 Bytes

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

Testfälle:

GOTO 0
quelle
0

Powershell, 190 Bytes

"$($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{"¯\_(ツ)_/¯"})"

Zeigt den Ein- und Ausgang nebeneinander an.

Schönen Karfreitag! -> 👍

Herzlichen Glückwunsch, Sie haben gerade selbst gespielt -> ¯ \ _ (ツ) _ / ¯

Sie haben den Test nicht bestanden. -> 👎

Gute Arbeit beim Test. -> 😐

Mike
quelle
0

PowerShell, 187 Byte

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]}
Andrei Odegov
quelle