真 もわ爛漫

しゃーら、しゃーらしゃーら

ううむ。まるで書けなくてビビった

某所でコードを書いてうpしてみようということで書こうとしたらPythonのimport文すら思い出せずビビった。いやぁ、ほんとびびった。それでもなお#!/user/bin/env的なのが書けるだけましか、とかいうどうしようもない状態に。enumerate() で ch, i とか書いて何かすごいことになったとか色々悲惨だ。ほんと悲惨だ。join使おうとして''.(引数)とか書いててそれはなんだと処理系に怒られるとかそういうのはよしてほしい。

長く特定の言語に触れてないとあるべきものは分かってもどこにあるか覚えて無いとかあって結構こまるなぁと。sort()とか書いて怒られてしばし考えて「そうだsorted()だ」とかどうでも良いことにいちいちハマってほんと涙目である。普段Javaしか書いてないからこういうことが起こるんだえぐえぐ

import sys

i = 0
def print_result(result):
  global i
  if i > 0:
    sys.stdout.write(',')
    pass
  i += 1
  sys.stdout.write(result)

def perm(arg, array):
  length = len(arg)
  if length < 0:
    pass
  elif length == 1:
    print_result(''.join(array + arg))
  else:
    for i, ch in enumerate(arg):
      subarg = arg[:i] + arg[i+1:]
      perm(subarg, array + [ch])

if len(sys.argv) < 2:
  pass
else:
  f = file(sys.argv[1])
  for line in f:
    global i
    i = 0
    perm(sorted(line.strip()), [])
    print

あまりに汚くて自分でも頭が痛くなるのでそのまま晒してみる。この書けなさはさすがに問題だろ。

もちろん明らかな話としてなぜglobalであるかとか色々ツッコミどころはあるんだけど、好きに直して。

ああもう。

#追記:私が見ても明らかなバグがあるので好きなだけ叩いてコメントしてください