2014-06-15 2 views
-2

프로그래밍에 새롭다
나는 목록을 만들었고 목록에 변수 묶음이있는 레이블이있다.
하지만 난 목록을 포장하려고 할 때, 오류가
말하는 올 것이다 :파이썬에서리스트를 포장하는 방법

이제

내가 라벨

self.qrl=[] 
     for i in range (10): 
      self.qrl.append(Label(self.results_content_frame,text=("For question "+str(self.counter)+" your answer was "+str(self.ans1)+", correct answer was "+str(self.calc_answer)+" therefore your answer was "+self.correct_answer+"."),font=("Calibri", "12"))) 
      self.qrl.pack() 
을 포장하는 방법으로 손실하고있다 "AttributeError가 '목록'객체 '팩'에는 속성이 없습니다"
+3

라벨을 포장하기 위해'self.qrl [0] .pack()'을 의미합니까? 리스트에는 팩 메소드가 없으며,'self.qrl [0]'은리스트 안에있는 요소입니다. –

+0

그래서 [0] 대신 [k]와 같은 변수를 사용하여 목록의 k 번째 레이블을 인쇄 할 수 있습니까? – user2738725

+0

줄 길이를 80 자 미만으로 유지하면 코드가 더 읽기 좋게됩니다. –

답변

1

self.qrl.pack()을 제거하고 목록을 순회 할 수 있습니다.

for i in range (0, len(self.qrl)): 
    self.qrl[i].pack() 

기본적으로, (, 귀하의 경우 레이블) 개체의 목록을 확인하고 모든이 발견 한 객체에 대해,이 창에 그것을 포장됩니다.

+0

첫 제안은 나쁜 것입니다. '아무것도 반환하지 않으므로'self.qrl'를'None'으로 채우고 레이블에 대한 참조를 잃게됩니다. – jonrsharpe

+0

@jonrsharpe이게 좋은가요? –

관련 문제