###問題点
以下のようなエラーがでました。list index outof range
は存在しないリストを指定しているときに出てくると思います。この場合i
は0~nPまでの配列の添え字を表しているのですがallFamilyA[i]
は存在していないのでしょうか。
なぜこのエラーが出てくるのか教えてください。
###エラー
Traceback (most recent call last): File "kadai04x.py", line 19, in <module> allfamilyA[i]+=familyA #全familyA(総支給額)の合計を求める IndexError: list index out of range
###コード
python
1P=[int(i) for i in input().split()] #収入額 2N=[int(i) for i in input().split()] #家族の人数 3B=int(input()) #予算額 4A=1 #ボーナス額仮定 5allfamilyA=[] 6allfamilyAkarioki=[] 7ansA=[] 8nP=len(P) 9#全員のボーナス額を求める(1~) 10while A<1000: 11 print("A=",A) 12 for i in range(0,nP): 13 print(i) 14 if (P[i]+A)>1000: 15 familyA=1000-P[i] #ひと家族のボーナス支給額 16 else: 17 familyA=A*N[i] #ひと家族のボーナス支給額 18 allfamilyA[i]+=familyA #全familyA(総支給額)の合計を求める 19 allfamilyAkarioki[i]+=familyA #ソートしてないほうをおいておく 20 ansA=A #そのときのボーナス額 21 A+=1 22allfamilyA.sort() #ソートする 23n=len(allfamilyA) 24print("n=",n) 25#二分探索 26left=0 27right=n 28while (right-left)==1: 29 center=(left+right)//2 30 print(left,center,right) 31 if allfamilyA[center]==B: 32 ans=center 33 break 34 elif allfamilyA[center]>B: 35 right=center 36 else: 37 left=center 38ansi=right 39print(ansi) 40#print(allfamilyA[ansi]) 41for i in range(0,n): 42 if allfamilyA[ansi]==allfamilyAkarioki[i]: 43 print("あ") 44 ii=i 45 break
回答2件
あなたの回答
tips
プレビュー