Question: class DriversLicense: def _ _ init _ _ ( self , first _ name, last _ name, age, voter _ status, state, license _ number
class DriversLicense:
def initself firstname, lastname, age, voterstatus, state, licensenumber:
self.firstname firstname
self.lastname lastname
self.age age
self.voterstatus voterstatus
self.state state
self.licensenumber licensenumber
def ltself other:
return self.licensenumber other.licensenumber
def gtself other:
return self.licensenumber other.licensenumber
def leself other:
return self.licensenumber other.licensenumber
def geself other:
return self.licensenumber other.licensenumber
def eqself other:
return self.licensenumber other.licensenumber
def neself other:
return self.licensenumber other.licensenumber
def strself:
return fselflicensenumber: selflastnameselffirstnameselfageselfvoterstatus in selfstate
def reprself:
return fDriversLicenseselffirstnameselflastnameselfageselfvoterstatusselfstateselflicensenumber
class DMV:
def initself filename:
self.drivers self.readdriversfilename
def readdriversself filename:
drivers
try:
with openfilename, r as file:
for line in file:
data line.stripsplit
# Assuming the file format is:
# firstname,lastname,age,voterstatus,state,licensenumber
if lendata:
firstname, lastname, age, voterstatus, state, licensenumber data
try:
drivers.appendDriversLicense
firstname,
lastname,
intage # Ensure age is an integer
voterstatus,
state,
intlicensenumber # Ensure licensenumber is an integer
except ValueError:
printfSkipping invalid record invalid age or license number: linestrip
else:
printfSkipping invalid record incorrect number of fields: linestrip
except FileNotFoundError:
printfFile filename not found."
return drivers
def printmenuself:
printSelect an option:"
print Print all Drivers Info, sorted by drivers license number"
print Print all unregistered voters"
print Print all drivers within age range"
print Print all out of state drivers outside KS
print Quit"
def printalldriversself:
sorteddrivers sortedselfdrivers
for driver in sorteddrivers:
printdriver
def printunregisteredvotersself:
for driver in self.drivers:
if driver.voterstatus.lower "registered":
printdriver
def printdriversinagerangeself:
agerange inputEnter age range lowhigh: strip
try:
low, high mapint agerange.split
for driver in self.drivers:
if low driver.age high:
printdriver
except ValueError:
printInvalid age range format. Please use lowhigh."
def printoutofstatedriversself:
for driver in self.drivers:
if driver.state.upperKS:
printdriver
def runself:
while True:
self.printmenu
choice inputEnter your choice: strip
if choice :
self.printalldrivers
elif choice :
self.printunregisteredvoters
elif choice :
self.printdriversinagerange
elif choice :
self.printoutofstatedrivers
elif choice :
printGoodbye
break
else:
printInvalid choice. Please try again."
# Main function
def main:
filename inputEnter the name of the file containing driver records: strip
myDMV DMVfilename
myDMVrun
if namemain:
main
What is the best way to fix this code
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
