首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表情表情识别

表情表情识别
EN

Code Golf用户
提问于 2015-09-12 10:10:52
回答 3查看 1.7K关注 0票数 25

编写一个程序,接受一个表情符号作为输入,如果表情符号是快乐的或悲伤的,则输出它。

程序接受字符串作为输入或参数,如果输入在快乐表情列表中,则应该显示字符串“高兴”;如果输入在悲伤表情列表中,则应该显示“悲伤”。

您可以假设输入始终是有效的(高兴或悲伤)表情,周围没有空格或选项卡。

下面是一个空格分隔的快乐表情列表:

代码语言:javascript
复制
:-) :) :D :o) :] :3 :c) :> =] 8) =) :} :^) :-D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D (-: (: (o: [: <: [= (8 (= {: (^:

下面是一个空格分隔的悲伤表情列表:

代码语言:javascript
复制
>:[ :-( :( :-c :c :-< :< :-[ :[ :{ 8( 8-( ]:< )-: ): >-: >: ]-: ]: }: )8 )-8

这是密码-高尔夫,所以最短的节目获胜。

EN

回答 3

Code Golf用户

发布于 2015-09-12 13:07:00

布氏对数,50字节

代码语言:javascript
复制
(rh{,"[(c<{":Im?};?h{,"])>}":Im?}),"sad".;"happy".

解释

代码语言:javascript
复制
(                              ),"sad".;"happy".  § If what's in the parentheses is true,
                                                  § output "sad", else output "happy".

 rhA                                              § Unify A with the last char of the input
    ,"[(c<{":ImA                                  § True if A is a char of "[(c<{"
                ;                                 § OR
                 ?hA                              § Unify A with the first char of the input
                    ,"])>}":ImA                   § True if A is a char of "])>}"
票数 3
EN

Code Golf用户

发布于 2015-09-12 10:43:52

Python,159个字节.

代码语言:javascript
复制
i,e=raw_input(),0
for c in i:e=(e,i.index(c))[c in":=8xXB"]
f,s,h=i[:e],i[e+1:],0
for c in f:h+=c in"[(c<{"
for c in s:h+=c in")]}>D"
print["Sad","Happy"][h>0]
票数 2
EN

Code Golf用户

发布于 2018-04-04 10:00:00

Python 3,75字节

代码语言:javascript
复制
lambda y:"sad"if re.match("(.*[[(c<{]$)|(^[\])>}])",y)else"happy"
import re

在网上试试

regex导入使得它有点太长,以及无法使用None作为数组索引。但我喜欢regex :)

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/57753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档