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どういう意味なんだろ・・・
#!/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どういう意味なんだろ・・・