再次提醒我?


9

介绍

听说过提醒吗?没有?直到大约2年前,我才这么做。它的基本前提是教师发出提醒并与学生进行交流。很整洁吧?它甚至允许您发送表情并对消息做出反应!我每天都会这样做。

但是,关于提醒的一件事是,老师总是发送“做功课!”。“如果不这样做,您将得到F!”。但是,也有一些有用的东西,例如“星期二测试”或偶尔的“祝您愉快!”。我几乎总是对竖起大拇指表示满意,但有时,我不得不竖起大拇指。

挑战

今天的任务是找出消息是否具有一定含义。如果它具有肯定的含义,请竖起大拇指回复。如果它具有否定含义,请以大拇指朝下答复。

我应该如何发现内涵?

正含义通常包含3个字。这三个词是:快乐,好和通过

负数也将包含3。那3:测试,失败和家庭作业

我要测试什么?

您正在测试以查看邮件中是否包含肯定,否定或两者含义。

如果消息具有肯定的含义,请继续操作并返回unicode 码点以供竖起大拇指(U + 1F44D)。

如果它具有否定含义,请返回拇指朝下的Unicode代码点(U + 1F44E)。

如果消息同时具有否定含义和肯定含义,请返回中性面孔(U + 1F610)的代码点。

如果由于其他原因没有任何含义,则返回一个很好的耸耸肩(¯__(ツ)_ /¯)。如果耸肩没有正确显示,这是耸肩的Emojipedia链接

约束条件

  • 程序必须将一条消息作为输入。
  • 正含义必须返回大拇指代码点(U + 1F44D)
  • 负含义必须返回大拇指朝下的代码点(U + 1F44E)。
  • 如果消息具有两个含义,请返回中性面部代码点(U + 1F610)。
  • 如果消息没有含义,则返回耸肩(¯\ _(ツ)_ /¯)。
  • 这是 ,最短字节获胜

测试用例。

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

您需要逃脱
Rod

很好,测试用例完全耸了耸肩
KuanHulio

1
“如果消息具有两个含义,请返回中立的面部代码点(U + 1F610)。” 不,不区分大小写。
KuanHulio '17

需要说明的是:如果字符串包含两种类型的单词,则返回中性,而不管一种类型的单词是否多于另一种?
毛茸茸的

@Shaggy是的,只是返回中立
KuanHulio

Answers:


2

Python 3中182个 166 159 151字节

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

在线尝试!


您可以将两个anys 都插入到打印件中:d[any(<positive>)+any(<negative>)*2]
Rod

1
我收到的是182个UTF-8字节而不是169个字节
user41805

utf总是让我忘记多余的字节,我通常只在代码中使用python的len()函数。将编辑
Martmists '17

"👍👎😐"对我来说很好。您使用的是什么版本的python?
Martmists '17

我尚未测试过,但我想您可以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])代替
詹姆斯

0

JavaScript,UTF-8编码,100字节

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

测试用例:


0

Powershell,190字节

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

显示彼此相邻的输入和输出。

耶稣受难日快乐!->👍

恭喜,您刚刚扮演自己->¯\ _(ツ)_ /¯

您未通过测试。->👎

在测试中表现出色。->😐


0

PowerShell,187字节

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]}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.