Welcome to touyou note!!

こんにちは。touyouです。touyou noteは、creativeな人間を志すちっぽけな学生が様々なことに体当たりするブログです。
どうぞお楽しみ下さい。

Twitter: @touyoubuntu
HomePage: TOUYOUBUNTU

検索用ワード

PC Linux Windows Cygwin Android Python Java C/C++ C# HTML Processing Lisp Perl Arduino Japanino Unity Google TopCorder Codeforces Vim Emacs Github PSP Gundam Soccer Mobile Dialy Study Music ...

2010年2月12日金曜日

python苦戦中

とあるコードについて・・・

#!/usr/bin/env python
# -*- coding:utf-8 -*-

class algo:
 def __init__(self):
  self.data = []
 def per(self,n):
  x = n
  while n > 0:
   n = n - 1
   x = x * n
  self.data.append(x)
  return result
 def com(self,n,m):
  a = n - 1
  b = per(m)
  c = b[0]
  while m > 0:
   n = n * a
   a = a - 1
   m = m - 1
  d = n / c
  self.data.append(d)
  return result
 def  fin(self):
  self.p = self.data[0]
  self.c = self.data[1]

def venn(n):
 y = algo(n,1)
 i = y.p
 n = n - 1
 a = 1
 while n > 0:
  if a % 2 == 0:
   b = algo(n,a)
   x = b.p * b.c
   i = i + x
   n, a = n-1, a+1
  else:
   b = algo(n,a)
   x = b.p * b.c
   i = i - x
   n, a = n-1, a+1
 print i

print """
--------------------------------------------------------------------------------

Q. 1からnまでの数字を1個ずつ使う、n文字の順列のうち
    「1が1番目になく、2が2番目になく・・・nがn番目にない」
     ようなものはいくつあるか?

--------------------------------------------------------------------------------
"""
n = int(raw_input("nにあたる数を入力してください:"))
print  """
--------------------------------------------------------------------------------
"""
print 'Answer is'
venn(n)
print """
--------------------------------------------------------------------------------
"""


このコードどうしても動かない。
問題点指摘してくれる人がいればいいんですけどね(泣)
だれかこの記事を見てくれているという前提で、参考までにどのようなエラーになるかだけ載せておきます。
ubuntu@ubuntu:~/py_script$ python venn.py

--------------------------------------------------------------------------------

Q. 1からnまでの数字を1個ずつ使う、n文字の順列のうち
    「1が1番目になく、2が2番目になく・・・nがn番目にない」
     ようなものはいくつあるか?

--------------------------------------------------------------------------------

nにあたる数を入力してください:5

--------------------------------------------------------------------------------

Answer is
Traceback (most recent call last):
  File "venn.py", line 61, in
    venn(n)
  File "venn.py", line 30, in venn
    y = algo(n,1)
TypeError: __init__() takes exactly 1 argument (3 given)
ubuntu@ubuntu:~/py_script$

 このTypeErrorどういう意味なんだろ・・・

0 件のコメント:

コメントを投稿