Respuesta :
Answer:
Following are the code to this question:
def getSum(ID):#defining a method getSum that accept an ID
t= 0#defining a variable t
while ID!= 0:#defining while loop to check ID not equal to 0
t+= ID % 10# holding remainder value
ID = ID // 10#holding quotient value
return t#return total value
def readRecord(S):#defining a method readRecord that hold list
f_Read = open("idInfo.txt","r")#defining a variable f_Read to open file
for C_ID in f_Read:#defining for loop to hold file value
C_ID = C_ID.replace('\n', '')#use replace method
S[C_ID] = getSum(int(C_ID))#use list to method value
f_Read.close()#close file
def sortRecord(ID_List, t_List):#defining a sortRecord
for x in range(len(ID_List) - 1):#defining for loop to calculate the length of list
for y in range(0, len(ID_List) - x - 1):#defining for loop to calculate the length of list
if ID_List[y] > ID_List[y+1]:#defining if block to check value is greater
ID_List[y], ID_List[y+1] = ID_List[y+1], ID_List[y]#swap the value
t_List[y], t_List[y+1] = t_List[y+1], t_List[y]#swap the value
def showReport(ID, t):#defining a method showReport that accept id and t
for i in range(len(ID)):#defining for loop to hold index value
print(ID[i]," ",t[i])#print index value
def writeRecord(ID_List, t_List):#defining a method writeRecord that accept two list
f_Write = open("idSorted.txt","w")#defining a variable f_Write to hold store value in file
for i in range(len(ID_List)):#defining a for loop to store value with index
f_Write.write(ID_List[i])#hold list value
f_Write.write(" ") #for space
f_Write.write(str(t_List[i]) + "\n")# add index value
f_Write.close()#close file
def run():#defining method run
S = {}#defining an empty list
readRecord(S)#passing list into readRecord method
ID_List = list(S.keys())#defining a variable that holds key value in list
t_List = list(S.values())#defining a variable that holds values value in list
sortRecord(ID_List, t_List)#calling a method sortRecord by passing value
showReport(ID_List, t_List)#calling a method showReport by passing value
writeRecord(ID_List, t_List)#calling a method writeRecord by passing value
if "run":
run()
Output:
Please find the attached file.
Explanation:
In the above program code, 6 method getSum, readRecord, sortRecord,showReport, writeRecord, and run method is defined, in which getSum and readRecord is used a single list store value in parameters, and in other methods, it accepts two parameter to store value in key and values form and use a txt file to store and take value.
In the run method, an empty list s is declared, that pass into the variable ID_List and t_List, and call the method, in this program two a text file "idInfo.txt" is used, that holds some value in the file, and create another file that is "idSorted.txt", in this file it stores the value in the numerical order of the ID's.