某所でコードを書いてう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であるかとか色々ツッコミどころはあるんだけど、好きに直して。
ああもう。
#追記:私が見ても明らかなバグがあるので好きなだけ叩いてコメントしてください