Ingatkan saya lagi?

9

pengantar

Pernah dengar Remind? Tidak? Saya juga tidak sampai sekitar 2 tahun yang lalu. Dasar pemikirannya adalah bagi guru untuk mengirimkan pengingat dan berkomunikasi dengan siswa mereka. Cukup rapi, bukan? Bahkan memungkinkan Anda mengirim emotes dan bereaksi terhadap pesan! Yang saya lakukan setiap hari.

Tetapi, satu hal tentang Remind adalah bahwa para guru selalu mengirim "Kerjakan pekerjaan rumah Anda!" "Jika tidak, kamu akan mendapat nilai F!" Tapi, ada hal-hal yang berguna juga, seperti "Tes pada hari Selasa", atau sesekali "Semoga harimu menyenangkan!". Saya hampir selalu menjawab senang dengan acungan jempol, tetapi kadang-kadang, saya harus meletakkan ibu jari ke bawah.

Tantangan

Tugas Anda hari ini adalah untuk mengetahui apakah suatu pesan memiliki konotasi tertentu terhadapnya. Jika memiliki konotasi positif untuk itu, balas dengan jempol ke atas. Jika memiliki konotasi negatif, balas dengan jempol ke bawah.

Bagaimana saya bisa mendeteksi konotasi?

Konotasi positif biasanya memiliki 3 kata di dalamnya. 3 kata itu adalah: Happy, Good, and Passed .

Konotasi negatif akan memiliki 3 juga. Mereka 3: Tes, Gagal, dan Pekerjaan Rumah .

Untuk apa saya menguji?

Anda menguji untuk melihat apakah suatu pesan mengandung konotasi positif, negatif atau keduanya .

Jika sebuah pesan memiliki konotasi positif, lanjutkan dan kembalikan titik kode unicode untuk diacungi jempol (U + 1F44D).

Jika memiliki konotasi negatif, kembalikan titik kode unicode untuk jempol ke bawah (U + 1F44E).

Jika pesan memiliki konotasi negatif dan positif, kembalikan titik kode untuk wajah netral (U + 1F610).

Jika, karena alasan lain, ia tidak memiliki konotasi, kembalikan bahu yang bagus (¯ \ _ (ツ) _ / ¯). Jika shrug tidak muncul dengan benar, inilah tautan Emojipedia ke shrug

Kendala

  • Program harus menerima pesan sebagai masukan.
  • Konotasi positif harus mengembalikan titik kode jempol (U + 1F44D)
  • Konotasi negatif harus mengembalikan titik kode jempol ke bawah (U + 1F44E).
  • Jika pesan memiliki kedua konotasi, kembalikan titik kode wajah netral (U + 1F610).
  • Jika pesan tidak memiliki konotasi, kembalikan bahu (¯ \ _ (ツ) _ / ¯).
  • Ini adalah , byte terpendek menang

Uji kasus.

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
sumber
Anda harus menghindarinya
Rod
tidak apa-apa, test case mengangkat bahu penuh
KuanHulio
1
"Jika pesan memiliki kedua konotasi, kembalikan titik kode wajah netral (U + 1F610)." Dan tidak, tidak peka huruf besar-kecil.
KuanHulio
Untuk memperjelas: jika string berisi kedua jenis kata, kembali netral, terlepas dari apakah ada lebih dari satu jenis daripada yang lain?
Shaggy
@Shaggy ya, kembalilah netral
KuanHulio

Jawaban:

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

Cobalah online!

Martmists
sumber
Anda dapat memasukkan kedua anys di dalam cetakan:d[any(<positive>)+any(<negative>)*2]
Batang
1
Saya mendapatkan 182 byte UTF-8 alih-alih 169
user41805
utf selalu membuat saya lupa byte tambahan, saya biasanya hanya menggunakan fungsi len () python pada kode saya. Will edit
Martmists
"👍👎😐"bekerja dengan baik untuk saya. kamu menggunakan versi python apa?
Martmists
Saya belum diuji, tapi saya pikir Anda bisa melakukan 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])sebaliknya
James
0

JavaScript, UTF-8 disandikan, 100 byte

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

Kasus uji:

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

Menampilkan input dan output di sebelah satu sama lain.

Selamat Jumat Agung! -> 👍

Selamat, Anda baru saja bermain sendiri -> ¯ \ _ (ツ) _ / ¯

Anda gagal dalam tes. -> 👎

Kerja bagus di ujian. -> 😐

Mike
sumber
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
sumber