¿Recuerdame de nuevo?

9

Introducción

¿Has oído hablar de Remind? ¿No? Tampoco lo hice hasta hace unos 2 años. La premisa básica es que los maestros envíen recordatorios y se comuniquen con sus estudiantes. Bastante ordenado, ¿verdad? ¡Incluso te permite enviar gestos y reaccionar a los mensajes! Lo que hago a diario.

Pero, una cosa acerca de Remind es que los maestros siempre envían el "¡Haz tu tarea!" "¡Si no lo haces, obtendrás una F!". Pero también hay cosas útiles, como "Prueba el martes" o el ocasional "¡Que tengas un buen día!". Casi siempre respondo contento con un pulgar hacia arriba, pero a veces tengo que bajar el pulgar.

Desafío

Su tarea hoy es averiguar si un mensaje tiene cierta connotación. Si tiene una connotación positiva, responda con un pulgar hacia arriba. Si tiene una connotación negativa, responda con un pulgar hacia abajo.

¿Cómo se supone que detecte las connotaciones?

Una connotación positiva normalmente tendrá 3 palabras. Las 3 palabras son: feliz, bueno y pasado .

Una connotación negativa tendrá 3 también. Esos 3: Prueba, Falla y Tarea .

¿Para qué estoy probando?

Está probando para ver si un mensaje contiene connotaciones positivas, negativas o ambas .

Si un mensaje tiene connotaciones positivas, continúe y devuelva el punto de código Unicode para pulgares arriba (U + 1F44D).

Si tiene connotaciones negativas, devuelva el punto de código Unicode para los pulgares hacia abajo (U + 1F44E).

Si el mensaje tiene connotaciones negativas y positivas, devuelva el punto de código para una cara neutral (U + 1F610).

Si, por alguna otra razón, no tiene ninguna connotación, devuelva un buen encogimiento de hombros (¯ \ _ (ツ) _ / ¯). Si el encogimiento de hombros no se muestra correctamente, aquí está el enlace de Emojipedia al encogimiento de hombros

Restricciones

  • El programa debe tomar un mensaje como entrada.
  • Las connotaciones positivas deben devolver el punto de código aprobado (U + 1F44D)
  • Las connotaciones negativas deben devolver el punto de código de pulgares hacia abajo (U + 1F44E).
  • Si el mensaje tiene ambas connotaciones, devuelva el punto de código de cara neutral (U + 1F610).
  • Si el mensaje no tiene connotaciones, devuelva el encogimiento de hombros (¯ \ _ (ツ) _ / ¯).
  • Este es el , gana el byte más corto

Casos de prueba.

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
fuente
Necesitas escapar de ella
Rod
está bien, el caso de prueba tiene un encogimiento total de hombros
KuanHulio
1
"Si el mensaje tiene ambas connotaciones, devuelva el punto de código de cara neutral (U + 1F610)". Y no, no distingue entre mayúsculas y minúsculas.
KuanHulio
Para aclarar: si la cadena contiene ambos tipos de palabras, ¿es neutral, independientemente de si hay más de un tipo que del otro?
Shaggy
@ Shaggy sí, solo regresa neutral
KuanHulio

Respuestas:

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])

Pruébalo en línea!

Martistas
fuente
puede insertar ambos correos anyelectrónicos dentro de la impresión:d[any(<positive>)+any(<negative>)*2]
Rod
1
Obtengo 182 bytes UTF-8 en lugar de 169
user41805
utf siempre me hace olvidar bytes adicionales, por lo general solo uso la función len () de python en mi código. Se editará
Martistas
"👍👎😐"funciona bien para mi ¿en qué versión de Python estás?
Martistas
No lo he probado, pero creo que podría hacerlo en su 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])lugar
James
0

JavaScript, codificado UTF-8, 100 bytes

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

Casos de prueba:

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

Muestra la entrada y la salida una al lado de la otra.

Feliz Viernes Santo! -> 👍

Felicidades, acabas de jugar tú mismo -> ¯ \ _ (ツ) _ / ¯

Fallaste la prueba. -> 👎

Buen trabajo en el examen. -> 😐

Miguel
fuente
0

PowerShell, 187 bytes

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
fuente