首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python一行程序(将perl转换为pyp)

Python一行程序(将perl转换为pyp)
EN

Stack Overflow用户
提问于 2013-05-05 04:10:44
回答 1查看 288关注 0票数 6

我想知道是否有可能用pyp制作一个具有相同功能的一行程序。

代码语言:javascript
复制
perl -l -a -F',' -p -e'if ($. > 1) { $F[6] %= 12; $F[7] %= 12;$_ = join(q{,}, @F[6,7]) }'

它接收一个逗号分隔的数字列表,每行8个数字,并以相同的格式输出它,除了每行的最后两个数字以12为模减少。它还逐字输出第一行(标题行)。

我有很多这样晦涩难懂的perl一行程序,我想首先把它们都翻译成python。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-05 04:50:49

郑重声明,我不确定我是否同意。在我看来,水平编写代码并不比垂直编写好多少,而且--以一种友好的方式--我有点怀疑这在实践中是否像看起来那样具有许多优势。Python的乐趣之一是您不必再为编写GolfScript而烦恼。

也就是说,下面的内容如何:

代码语言:javascript
复制
pyp "mm | p if n==0 else (p[:-2] + [(int(x)%12) for x in p[-2:]]) | mm"

这会产生:

代码语言:javascript
复制
localhost-2:coding $ cat exam.pyp 
a,b,c,d,e,f,g,h
11,22,33,44,55,66,77,88
12,23,34,45,56,67,78,89
13,24,35,46,57,68,79,80
localhost-2:coding $ cat exam.pyp | pyp "mm | p if n==0 else (p[:-2] + [(int(x)%12) for x in p[-2:]]) | mm"
a,b,c,d,e,f,g,h
11,22,33,44,55,66,5,4
12,23,34,45,56,67,6,5
13,24,35,46,57,68,7,8

免责声明:这是我十分钟前下载的第一个pyp程序。

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

https://stackoverflow.com/questions/16378512

复制
相关文章

相似问题

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