이 지시이다__init__ 함수를 만드는 방법은 무엇입니까?
모듈 가방라는 클래스 이름 bag.py1.Define
2.Define 하나 개의 파라미터를 갖는 INIT있어서, 가방 initalize 값의 반복 가능한 . Writing Bag()은 빈 가방을 만듭니다. Writing Bag (a ','b ','d ','c ','b ', d'))은 하나의 'a', 2 개의 'b', 하나의 'c' , 그리고 3 개의 디. 가방 클래스의 개체에만 사전이 위에서 지정한 저장해야합니다 : 그것은 저장 안/이것은 내가 가진 오류입니다 다른 자기 변수
from collections import defaultdict
from goody import type_as_str
from test.test_string import Bag
class Bag:
def __init__(self, i):
if len(i) == 0:
self.bag = []
for x in i:
self.bag.append(x)
if __name__ == '__main__':
#driver tests
import driver
driver.default_file_name = 'bsc1.txt'
# driver.default_show_exception= True
# driver.default_show_exception_message= True
# driver.default_show_traceback= True
driver.driver()
조작 :
이7 # Test init, repr, and str
8 *Error: b = Bag() raised exception TypeError: __init__() missing 1 required positional argument: 'i'
9 *Error: repr(b) in ['Bag()','Bag([])'] raised exception NameError: name 'b' is not defined
10 *Error: str(b) raised exception NameError: name 'b' is not defined
11 *Error: b = Bag(['d','a','b','d','c','b','d']) raised exception AttributeError: 'Bag' object has no attribute 'bag'
12 *Error: all((repr(b).count('\''+v+'\'')==c for v,c in dict(a=1,b=2,c=1,d=3).items())) raised exception NameError: name 'b' is not defined
13 *Error: all((v+'['+str(c)+']' in str(b) for v,c in dict(a=1,b=2,c=1,d=3).items())) raised exception NameError: name 'b' is not defined
입력은 다음과 같습니다
# Test init, repr, and str
c-->b = Bag()
e-->repr(b) in ['Bag()','Bag([])']-->True
e-->str(b)-->Bag()
c-->b = Bag(['d','a','b','d','c','b','d'])
e-->all((repr(b).count('\''+v+'\'')==c for v,c in dict(a=1,b=2,c=1,d=3).items()))-->True
e-->all((v+'['+str(c)+']' in str(b) for v,c in dict(a=1,b=2,c=1,d=3).items()))-->True
기능을 만드는 방법을 알지 못합니다. b = Bag() 예외가 발생했습니다. TypeError : ()가 누락되었습니다. 1 개의 필수 위치 인수. 첫 번째 입력이 b = Bag()을 호출하기 때문에 항상 오류가 발생합니다. 아무도 그것을 고칠 방법을 말해 줄 수 있습니까?
으로 바꿀 수 있습니까? – jiahuiding