Rappelez-moi encore?

9

introduction

Avez-vous déjà entendu parler de Remind? Non? Je ne l'ai pas fait non plus jusqu'à il y a environ 2 ans. Le principe de base est que les enseignants envoient des rappels et communiquent avec leurs élèves. Assez bien, non? Il vous permet même d'envoyer des emotes et de réagir aux messages! Ce que je fais au quotidien.

Mais, une chose à propos de Rappel est que les enseignants envoient toujours le "Faites vos devoirs!" "Si vous ne le faites pas, vous obtiendrez un F!". Mais il y a aussi des trucs utiles, comme "Test on Tuesday", ou occasionnel "Have a good day!". Je réponds presque toujours heureux avec un coup de pouce, mais parfois, je dois mettre un coup de pouce.

Défi

Votre tâche aujourd'hui est de savoir si un message a une certaine connotation. S'il a une connotation positive, répondez avec un coup de pouce. S'il a une connotation négative, répondez avec un pouce vers le bas.

Comment suis-je censé détecter les connotations?

Une connotation positive aura normalement 3 mots. Les 3 mots sont: heureux, bon et réussi .

Une connotation négative aura également 3. Ces 3: test, échec et devoirs .

Qu'est-ce que je teste?

Vous testez pour voir si un message contient des connotations positives, négatives ou les deux .

Si un message a des connotations positives, continuez et renvoyez le point de code unicode pour les pouces vers le haut (U + 1F44D).

S'il a des connotations négatives, renvoyez le point de code unicode pour les pouces vers le bas (U + 1F44E).

Si le message a une connotation négative et positive, renvoyez le point de code pour une face neutre (U + 1F610).

Si, pour une autre raison, il n'a aucune connotation, retournez un joli haussement d'épaules (¯ \ _ (ツ) _ / ¯). Si le haussement d'épaules ne s'affiche pas correctement, voici le lien Emojipedia vers le haussement d'épaules

Contraintes

  • Le programme doit prendre un message en entrée.
  • Les connotations positives doivent renvoyer le point de code pouce levé (U + 1F44D)
  • Les connotations négatives doivent renvoyer le point de code du pouce vers le bas (U + 1F44E).
  • Si le message a les deux connotations, retournez le point de code de face neutre (U + 1F610).
  • Si le message n'a aucune connotation, renvoyez le haussement d'épaules (¯ \ _ (ツ) _ / ¯).
  • Ceci est le , le plus court octet gagne

Cas de test.

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
la source
Vous devez y échapper
Rod
ça va, le cas de test a le haussement d'épaules complet
KuanHulio
1
"Si le message a les deux connotations, renvoyez le point de code de face neutre (U + 1F610)." Et non, pas sensible à la casse.
KuanHulio
Pour clarifier: si la chaîne contient les deux types de mots, retournez neutre, qu'il y ait plus d'un type que de l'autre?
Shaggy
@Shaggy oui, revenez simplement neutre
KuanHulio

Réponses:

2

Python 3 , 182 166 159 159 151 octets

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

Essayez-le en ligne!

Martmistes
la source
vous pouvez insérer les deux anys à l'intérieur de l'impression:d[any(<positive>)+any(<negative>)*2]
Rod
1
Je reçois 182 octets UTF-8 au lieu de 169
user41805
utf me fait toujours oublier les octets supplémentaires, j'utilise généralement la fonction len () de python sur mon code. Éditera
Martmists
"👍👎😐"fonctionne bien pour moi. sur quelle version de python êtes-vous?
Martmistes
Je ne l'ai pas testé, mais je pense que vous pourriez le faire à la 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])place
James
0

JavaScript, codé UTF-8, 100 octets

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

Cas de test:

GOTO 0
la source
0

Powershell, 190 octets

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

Affiche l'entrée et la sortie côte à côte.

Joyeux Vendredi Saint! -> 👍

Félicitations, vous venez de jouer vous-même -> ¯ \ _ (ツ) _ / ¯

Vous avez échoué au test. -> 👎

Bon travail sur le test. -> 😐

Mike
la source
0

PowerShell, 187 octets

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
la source