2017-11-09 17 views
-4

는 내가 필요에 :"summarize"명령의 문제점은 무엇입니까? 안녕하세요, 저는 프로젝트를하고있는 중이 야

-define 파이썬 스크립트에서 "교과서"클래스.

- 소유하고있는 5 권의 교과서에 대한 교과서 목록을 작성하십시오.

- 끝에 표시된대로 다섯 개의 교과서 요약을 생성합니다.

나는 아래 필요한 모든 정보를 가지고 있다고 생각하지만 아래의 스크립트 실행이 오류를 얻을 : 1 개 필요한 위치 인수 누락)

대한 요약을 ('텍스트'

무엇 오전 내가 잘못하고있어? 나는 (그 차이가 무엇이든) 파이썬/아나콘다 스크립트에서 그렇게 나쁜 생각은 다음과 같습니다 :

class Textbook: 
    def __init__(self,name): 
     self.name=name 
    def title(self,text): 
     self.title=text 
    def author(self,text): 
     self.author=text 
    def publisher(self,text): 
     self.publisher=text 
    def year(self,text): 
     self.year=text 
    def course(self,text): 
     self.course=text 
    def semester(self,text): 
     self.semester=text 
    def summarize(self,text): 
     self.summarize=text 

my_textbooks=[] 

mybook1 = Textbook('1') 

mybook1.title="Introduction to Python Class" 

mybook1.author="Inseok Song" 

mybook1.publisher="UGA" 

mybook1.year=2016 

mybook1.course="PHYS2001" 

mybook1.semester="2016Fa" 

my_textbooks.append(mybook1)  







mybook2 = Textbook('2') 

mybook2.title="Calculus III" 

mybook2.author="LaFollette" 

mybook2.publisher="Blackwell" 

mybook2.year=2006 

mybook2.course="MATH 2270" 

mybook2.semester="2017Fa" 

my_textbooks.append(mybook2)  







mybook3 = Textbook('3') 

mybook3.title="Why Be Good" 

mybook3.author="John Hardwin" 

mybook3.publisher="Corner Mill" 

mybook3.year=2016 

mybook3.course="PHIL 3400" 

mybook3.semester="2017Fa" 

my_textbooks.append(mybook3)  







mybook4 = Textbook('4') 

mybook4.title="Astronomy for Beginners" 

mybook4.author="J.P Callault" 

mybook4.publisher="UGA" 

mybook4.year=2017 

mybook4.course="ASTR 1110" 

mybook4.semester="2017Fa" 

my_textbooks.append(mybook4)  







mybook5 = Textbook('5') 

mybook5.title="Integrated Chinese" 

mybook5.author="Chuan-Har Liu" 

mybook5.publisher="UGA" 

mybook5.year=2016 

mybook5.course="CHNS 2001" 

mybook5.semester="2017Fa" 

my_textbooks.append(mybook5)  





for book in my_textbooks: 
    book.summarize() 
+0

하시기 바랍니다 * 형식 :

는 개체를 초기화 할 __init__ 방법을 사용합니다. 질문을 편집하고 모든 코드를 표시 한 다음 인라인 편집기 툴바에서 '{}'버튼을 누릅니다. –

+0

이제 코드를 읽기가 쉬워지면'summarize' 함수를 살펴 보도록하겠습니다. 인수 ('text')를 취하도록 정의하지만 인수를 전달하지 않고 호출하십시오. 그래서 오류가 발생합니다. 정확히 말해. –

+0

그래서 book.summarize()의 괄호 안에 뭔가를 넣어야합니까? 아니면 내가 다르게 정의해야한다고 말하는거야? – Jakspigot

답변

0

파이썬은 자바 없습니다. 모든 속성에 대해 setter 함수가 필요하지 않습니다. 제대로 * 코드

class Textbook: 
    def __init__(self, title, author, publisher, year, 
       course, semester): 
     self.title = title 
     self.author = author 
     self.publisher = publisher 
     self.year = year 
     self.course = course 
     self.semester = semester 

    def summarize(self): 
     s = '{:40s} {:15s} {:15s} {:4d} {:8s} {:7s}' 
     return s.format(self.title, self.author, 
         self.publisher, self.year, 
         self.course, self.semester) 


my_textbooks=[] 

mybook1 = Textbook("Introduction to Python Class", "Inseok Song", 
        "UGA", 2016, "PHYS2001", "2016fa") 
my_textbooks.append(mybook1) 
# You can also create a textbook and add it to the list at 
# the same time. 
my_textbooks.append(Textbook("Calculus III", "LaFollette", 
        "Blackwell", 2006, "MATH2270", "2017fa")) 
for book in my_textbooks: 
    # Print whatever you like as a summary 
    print(book.summarize()) 
+0

나는 이것에 대해 감사 드리지 못했습니다. 그래서 지금 당신에게 감사하고 있습니다! 이것은 도움이되는 슈퍼이었다. 그리고 나는 그것을 완전히 밖으로 상상했다! 나는 네가 생각하는 것보다 훨씬 더 감사한다! – Jakspigot

+0

그러나 마지막 질문이 하나 있습니다. 시간을 절약 할 수 있다면 선생님이 "print"명령 대신 "summarize"명령을 사용하길 원하지만 정확한 사용법을 모르겠습니다. - 지침을 포함 시켰습니다. 이하. 제목 : 40 자 저자 : 15 문자 긴 발행인 : 15 문자 긴 년 : 4 자리 숫자 과정 : 8 문자 긴 학기 : 업데이트 된 답변을 참조 @Jakspigot – Jakspigot

+0

긴 7 문자. –