A file, PASSENGERS.
DAT, stores the records of passengers using the following
structure:
[PNR, PName, BRDSTN, DESTN, FARE]
where:
PNR -Passenger Number (string type)
PName -Passenger Name (string type)
BRDSTN - Boarding Station Name (string type)
DESTN - Destination Station Name (string type)
FARE - Fare amount for the journey (float type)
Write user defined functions in Python for the following tasks:
(1) Create() to input data for passengers and write it in the binary file
[Link].
(ii) SearchDestn (D) - to read contents from the file [Link] and display
the details of those Passengers whose DESTN matches with the value of D.
(iii) UpdateFare () - to increase the fare of all passengers by 5% and rewrite the
updated records into the file [Link].
1.
import pickle
def Create():
f=open("[Link]", "wb")
while True:
PNR=input("PNR No:")
PName=input("Name: ")
BRDSTN=input("Boarding at: ")
DESTN=input("Destination: ")
FARE=float(input("Fare: "))
rec=[PNR,PName,BRDSTN,DESTN,FARE]
[Link](rec,f)
r = input("To continue press 'y' or press 'n':")
if r == 'n':
break
[Link]()
Create()
2.
import pickle
def SearchDestn(D):
f=open("[Link]", "rb")
try:
while True:
rec=[Link](f)
if rec[3]==D :
print(rec)
except EOFError:
print("EOF reached")
[Link]()
SearchDestn('chennai')
3.
import pickle
def UpdateFare():
newrec = []
try:
f = open("[Link]", "rb")
while True:
rec = [Link](f)
rec[4] += (rec[4] * 0.05)
[Link](rec)
except EOFError:
[Link]()
with open("[Link]", "wb") as f:
for rec in newrec:
[Link](rec, f)
UpdateFare()