Comment detail

文字列の均等分割 (Nested Flatten)
昼休みの時間にさくっと書いてみる。
割り算とほぼ同等なことをやってるあたりがダメダメだなぁ。

以下出力結果

dev4
ゆめよりもはかなき世のなかを
なげきわびつゝあかしくらすほ
どに四月十よひにもなりぬれ
ば木のしたくらがりもてゆく
dev5
ゆめよりもはかなき世の
なかをなげきわびつゝあ
かしくらすほどに四月十
よひにもなりぬれば木の
したくらがりもてゆく
dev6
ゆめよりもはかなき
世のなかをなげきわ
びつゝあかしくらす
ほどに四月十よひに
もなりぬれば木のし
たくらがりもてゆく
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#-*- coding: utf-8 -*-

def dev(s,num):
    tempCount = [0]*num
    outStr = [""]*num
    i = 0
    for j in xrange(len(s)):
        tempCount[i] += 1
        i = i+1
        if i == num:
            i=0

    for x in xrange(num):
        outStr[x] = s[:tempCount[x]]
        s = s[tempCount[x]:]
    return outStr

#配列をそのままプリントするとユニコードがうまく表示されないので
def printArray(array):
    for x in array:
        print x
 
sample = u"ゆめよりもはかなき世のなかをなげきわびつゝあかしくらすほどに四月十よひにもなりぬれば木のしたくらがりもてゆく"
print "dev4"
printArray(dev(sample,4))
print "dev5"
printArray(dev(sample,5))
print "dev6"
printArray(dev(sample,6))

Index

Feed

Other

Link

Pathtraq

loading...