Tekrar hatırlatıyor musun?


9

Giriş

Hiç duydunuz hatırlatın? Hayır? Ben de yaklaşık 2 yıl öncesine kadar yapmadım. Bunun temel dayanağı öğretmenlerin hatırlatma göndermesi ve öğrencileriyle iletişim kurmasıdır. Oldukça temiz, değil mi? Hatta emotes göndermenize ve mesajlara tepki vermenize izin verir! Bunu günlük olarak yapıyorum.

Ancak, Hatırlat ile ilgili bir şey, öğretmenlerin her zaman "Ödevini yap!" "Eğer yapmazsan, bir F alacaksın!" Ancak, "Salı günü test et" veya ara sıra "İyi günler!" Gibi yararlı şeyler de vardır. Neredeyse her zaman bir başparmak yukarıya ile mutlu cevap veriyorum, ama bazen, bir başparmak aşağı koymak zorundayım.

Meydan okuma

Bugünkü göreviniz, bir mesajın belirli bir çağrışımı olup olmadığını bulmaktır. Olumlu bir çağrışımı varsa, bir başparmak yukarıya cevap verin. Olumsuz bir çağrışım varsa, bir başparmak aşağı ile cevaplayın.

Çağrışımları nasıl saptayabilirim?

Pozitif bir çağrışımda normalde 3 kelime bulunur. Üç kelime: Mutlu, İyi ve Geçti .

Olumsuz bir çağrışım da 3 olacaktır. Bu 3: Test, Başarısızlık ve Ödev .

Ne için test ediyorum?

Bir iletinin pozitif, negatif veya her iki çağrışım içerip içermediğini görmek için test yapıyorsunuz .

Bir iletinin olumlu çağrışımları varsa, devam edin ve başparmak yukarı (U + 1F44D) için unicode kod noktasını döndürün.

Olumsuz çağrışımları varsa, başparmak aşağı (U + 1F44E) için unicode kod noktasını döndürün.

Mesajda hem negatif hem de pozitif çağrışımlar varsa, nötr bir yüz için kod noktasını döndürün (U + 1F610).

Başka bir nedenden ötürü, herhangi bir çağrışımı yoksa, güzel bir omuz silkme (¯ \ _ (ツ) _ / ¯) döndürün. Omuz silkme doğru görünmezse, omuz silkme ile ilgili Emojipedia bağlantısı

Kısıtlamalar

  • Program giriş olarak bir mesaj almalıdır.
  • Pozitif çağrışımlar başparmak yukarıya kod noktasını döndürmelidir (U + 1F44D)
  • Negatif çağrışımlar başparmak aşağı kod noktasını (U + 1F44E) döndürmelidir.
  • Mesajda her iki çağrışım da varsa, nötr yüz kodu noktasını (U + 1F610) döndürün.
  • Mesajda herhangi bir çağrışım yoksa, omuz silkme işlevini döndürün (¯ \ _ (ツ) _ / ¯).
  • Bu , En kısa bayt kazanır

Test senaryoları.

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

Kaçmak zorundasın
Rod

sorun değil, test
senaryosunun

1
"Mesajda her iki çağrışım da varsa, nötr yüz kodu noktasını (U + 1F610) döndürün." Ve hayır, büyük / küçük harfe duyarlı değil.
KuanHulio

Açıklığa kavuşturmak için: dize her iki kelime türünü içeriyorsa, bir türden diğerinden daha fazla tür olup olmadığına bakılmaksızın, nötr döndürün.
Shaggy

@Shaggy evet, sadece nötr geri dönün
KuanHulio

Yanıtlar:


2

Python 3 , 182 166 159 151 bayt

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

Çevrimiçi deneyin!


her ikisini anyde baskıya ekleyebilirsiniz :d[any(<positive>)+any(<negative>)*2]
Çubuk

1
169 yerine 182 UTF-8 bayt
alıyorum

utf her zaman ekstra bayt unutmak beni yapar, genellikle sadece kodumda python's len () işlevini kullanın. Düzenleyecek
Martmists

"👍👎😐"benim için iyi çalışıyor. hangi python sürümünü kullanıyorsun
Martmists

Test etmedim, ama 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])bunun yerine yapabileceğinizi düşünüyorum
James

0

JavaScript, UTF-8 kodlu, 100 bayt

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

Test senaryoları:


0

Powershell, 190 bayt

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

Giriş ve çıkışı birbirinin yanında görüntüler.

Mutlu İyi Cumalar! -> 👍

Tebrikler, yeni oynadınız -> ¯ \ _ (ツ) _ / ¯

Testte başarısız oldunuz. -> 👎

Testte iyi iş çıkardın. -> 😐


0

PowerShell, 187 bayt

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]}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.