我想知道是否有可能用pyp制作一个具有相同功能的一行程序。
perl -l -a -F',' -p -e'if ($. > 1) { $F[6] %= 12; $F[7] %= 12;$_ = join(q{,}, @F[6,7]) }'它接收一个逗号分隔的数字列表,每行8个数字,并以相同的格式输出它,除了每行的最后两个数字以12为模减少。它还逐字输出第一行(标题行)。
我有很多这样晦涩难懂的perl一行程序,我想首先把它们都翻译成python。
发布于 2013-05-05 04:50:49
郑重声明,我不确定我是否同意。在我看来,水平编写代码并不比垂直编写好多少,而且--以一种友好的方式--我有点怀疑这在实践中是否像看起来那样具有许多优势。Python的乐趣之一是您不必再为编写GolfScript而烦恼。
也就是说,下面的内容如何:
pyp "mm | p if n==0 else (p[:-2] + [(int(x)%12) for x in p[-2:]]) | mm"这会产生:
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程序。
https://stackoverflow.com/questions/16378512
复制相似问题