[英]I am getting NonType error for this python code. How should I change my code?
[英]I keep on getting index error. i dont know where should i change my code. here are my codes
def disp_sss():
print ("\n\nList of SSS loans\n")
print ("EmployeeNo SSS Deduction")
for idx in range(len(EmpNo)):
print (" {0:15} {1:10s} {2:10.2f}".format(EmpNo[idx], SSSLoan[idx], float(MonthlyDeduction[idx])))
我試圖顯示文本文件中的數據。 這是錯誤信息。 第 87 行,在 disp_sss 打印 (" {0:15} {1:10s} {2:10.2f}".format(EmpNo[idx], SSSLoan[idx], float(MonthlyDeduction[idx]))) IndexError: list索引超出范圍
問題是,當我運行程序時,它顯示了所有數據,但在顯示數據后,錯誤開始出現。 這是我分別得到的顯示。 員工無 SSS 扣除額 123 500 200.00 a1001 300 20.00
我最好的猜測是您的 SSLoan/MonthlyDeduction 與 EmpNo 的長度不同。
要調試,首先嘗試一次刪除這兩個,然后一個一個添加,看看真正的問題在哪里。
或者,您可以考慮將它們存儲到數據幀中並顯示數據幀,這可能會更好看。
您正在列表EmpNo
迭代索引,但您嘗試在其他兩個列表SSSLoan
和MonthlyDeduction
上使用相同的索引,因此如果兩個列表中的任何一個列表的項目較少,則迭代獲取時會導致IndexError
到索引存在於EmpNo
但不存在於SSSLoan
或MonthlyDeduction
。
您應該確保這 3 個列表的長度相等。 或者,您可以使用zip
3 個列表,以便在最短列表用盡時結束迭代:
def disp_sss():
print("\n\nList of SSS loans\n")
print("EmployeeNo SSS Deduction")
for row in zip(EmpNo, SSSLoan, MonthlyDeduction):
print(" {0:15} {1:10s} {2:10.2f}".format(row))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.