Mi ricordi di nuovo?


9

introduzione

Hai mai sentito parlare di Ricordare? No? Nemmeno io fino a circa 2 anni fa. La premessa di base è che gli insegnanti inviano promemoria e comunicano con i loro studenti. Abbastanza pulito, vero? Ti consente persino di inviare emote e reagire ai messaggi! Cosa che faccio quotidianamente.

Ma una cosa su Ricorda è che gli insegnanti inviano sempre il messaggio "Fai i compiti!" "In caso contrario, otterrai una F!". Ma ci sono anche cose utili, come "Test di martedì" o l'occasionale "Buona giornata!". Quasi sempre rispondo felice con un pollice in su, ma a volte devo abbassare il pollice.

Sfida

Il tuo compito oggi è scoprire se un messaggio ha una certa connotazione con esso. Se ha una connotazione positiva, rispondi con un pollice in su. Se ha una connotazione negativa, rispondi con un pollice verso il basso.

Come devo rilevare le connotazioni?

Una connotazione positiva normalmente contiene 3 parole. Le 3 parole sono: Felice, Buono e Passato .

Una connotazione negativa avrà anche 3. Quelle 3: Test, Fail e Compiti .

Per cosa sto testando?

Stai testando per vedere se un messaggio contiene connotazioni positive, negative o entrambe .

Se un messaggio ha connotazioni positive, andare avanti e restituire il punto di codice unicode per pollice in su (U + 1F44D).

Se ha connotazioni negative, restituisce il punto di codice unicode per i pollici giù (U + 1F44E).

Se il messaggio ha connotazioni sia positive che negative, restituire il punto di codice per una faccia neutra (U + 1F610).

Se, per qualche altro motivo, non ha nessuna connotazione, restituisci una bella scrollata di spalle (¯ \ _ (ツ) _ / ¯). Se il coprispalle non si presenta bene, ecco il link Emojipedia al coprispalle

vincoli

  • Il programma deve accettare un messaggio come input.
  • Le connotazioni positive devono restituire il pollice in alto punto di codice (U + 1F44D)
  • Le connotazioni negative devono riportare i pollici in giù nel punto di codice (U + 1F44E).
  • Se il messaggio ha entrambe le connotazioni, restituisce il punto di codice del volto neutro (U + 1F610).
  • Se il messaggio non ha connotazioni, restituire scrollata di spalle (¯ \ _ (ツ) _ / ¯).
  • Questo è , vincono i byte più brevi

Casi 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

Devi scappare
Rod,

va bene, il caso di test ha tutte le spalle
Kuan Hulio,

1
"Se il messaggio ha entrambe le connotazioni, restituisce il punto di codice del volto neutro (U + 1F610)." E no, non sensibile al maiuscolo / minuscolo.
KuanHulio,

Per chiarire: se la stringa contiene entrambi i tipi di parole, restituisce neutro, indipendentemente dal fatto che ci sia più di un tipo rispetto all'altro?
Shaggy,

@Shaggy sì, basta tornare neutrale
KuanHulio

Risposte:


2

Python 3 , 182 166 159 151 byte

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

Provalo online!


è possibile inserire entrambe le anys all'interno della stampa:d[any(<positive>)+any(<negative>)*2]
Rod

1
Ottengo 182 byte UTF-8 anziché 169
user41805,

utf mi fa sempre dimenticare byte extra, di solito uso solo la funzione len () di python sul mio codice. Modifica
Martmists

"👍👎😐"funziona bene per me. su quale versione di Python sei?
Martmists,

Non l'ho provato, ma penso che potresti fare 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])invece
James,

0

JavaScript, codificato UTF-8, 100 byte

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

Casi test:


0

Powershell, 190 byte

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

Visualizza l'ingresso e l'uscita uno accanto all'altro.

Buon venerdì! -> 👍

Complimenti, hai appena giocato a te stesso -> ¯ \ _ (ツ) _ / ¯

Hai fallito il test. -> 👎

Ottimo lavoro durante il test. -> 😐


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]}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.