2012-06-21 4 views
0
class Packagings: 
    def __init__(self): 
     self.length=0 
     self.deckle=0 
     self.tmp=0 
     self.flute=[] 
     self.gsm=[] 
     self.t_weight=0 
     self.weight=0 

    def read_values(self): 
     print """Select Type Of Paper 
       1.3 Ply 
       2.5 Ply 
       3.7 Ply 
       """ 
     self.type=input("Enter the type:") 
     self.l=input("Enter Length:") 
     self.b=input("Enter Breadth:") 
     self.h=input("Enter Height:") 
     self.flap=input("Enter Flap:") 


    def ply_read_values(self): 
     for i in range(0,2): 
      self.flute[i]=input("Enter flute:") 
      self.gsm[i]=input("Enter Gsm:") 
      self.weight[i]=self.tmp*(flute[i]*gsm[i]) 
      self.t_weight=self.t_weight+self.weight[i] 

    def do_calc(self): 
     self.length=(2*self.l+2*self.b+self.flap)/1000 
     self.deckle=(float(self.h+self.b))/1000 
     self.tmp=self.length*self.deckle 


    def print_value(self): 
     print self.length 
     print self.deckle 
     print self.t_weight 

#Main Function 
obj=Packagings() 
obj.read_values() 
obj.do_calc() 
obj.ply_read_values() 
obj.print_value() 

이 프로그램을 실행하면 다음 오류가 발생합니다. 목록 할당이 범위를 벗어나는 방법을 찾을 수 없습니다. 너희들이 내 프로그램을 통해 내가 어디로 잘못 갔는지 말해 줄래? 나에게 목록은 괜찮아 보인다. 색인에서 어떻게 벗어나 죠?IndexError : 목록 할당 인덱스가 범위를 벗어났습니다.

Traceback (most recent call last): 
    File "C:/Python27/packagings.py", line 47, in <module> 
    obj.ply_read_values() 
    File "C:/Python27/packagings.py", line 27, in ply_read_values 
    self.flute[i]=input("Enter flute:") 
IndexError: list assignment index out of range 

답변

4

은 초기화 할 수있는 요소가 없으므로 빈 목록으로 초기화됩니다. 다른 목록에도 마찬가지로 self.flute.append을 사용하십시오.

+0

덕분에 정말 ... 내가 해결 도움에 대한 사랑 덕분에 내가 통지를 일부러 –

1

는 코드에 가정, 당신은 self.weight=[]self.weight=0를 교체해야 내가 그것을 문제라고 생각

+0

나중에 그했다 또 다른 실수를 도왔다 것을 MAAN 그것 –

관련 문제