vendredi 13 décembre 2019

Is there any way to break if statement based on list provided?

I am new to Python, I have extracted SQL data put it in data frame. While calling below function I have created, if the choice length is 4 it gives result as expected. If I give less/more list values while calling function I am getting "list index out of range" error. I believe I can use while statement, Can some one help ??

overdue_days=(loanapp_df[['credit_day_overdue','name_income_type']]).values choice=(['Working','State servant','Commercial associate','Pensioner'])

def overdues(a): overdue1=paid1=overdue2=paid2=overdue3=paid3=overdue4=paid4=overdue5=paid5=0 for dues in a: if dues[1]==choice[0] and dues[0]> 0: overdue1=overdue1+1 if dues[1]==choice[0] and dues[0]==0: paid1=paid1+1 if dues[1]==choice[1] and dues[0]> 0: overdue2=overdue2+1 if dues[1]==choice[1] and dues[0]==0: paid2=paid2+1 if dues[1]==choice[2] and dues[0]> 0: overdue3=overdue3+1 if dues[1]==choice[2] and dues[0]==0: paid3=paid3+1 if dues[1]==choice[3] and dues[0]> 0: overdue4=overdue4+1 if dues[1]==choice[3] and dues[0]==0: paid4=paid4+1

print("\n********Compare paid applicants vs overdue applicants*******************************")                         
print("\n The number of "+choice[0]+" applicants for overdues are  : {} and paid are {}\n ".format(overdue1,paid1)+
      "The number of "+choice[1]+" applicants for overdues are  : {} and paid are {}\n ".format(overdue2,paid2)+
      "The number of "+choice[2]+" applicants for overdues are  : {} and paid are {}\n ".format(overdue3,paid3)+
      "The number of "+choice[3]+" applicants for overdues are  : {} and paid are {}\n ".format(overdue4,paid4))

overdues(overdue_days)

overdue_days=(loanapp_df[['credit_day_overdue','name_family_status']]).values choice=(['Single / not married','Married','Civil marriage','Widow']) overdues(overdue_days)

overdue_days=(loanapp_df[['credit_day_overdue','name_contract_type']]).values choice=(['Cash loans','Revolving loans']) overdues(overdue_days)

Aucun commentaire:

Enregistrer un commentaire