class Blood:
def __init__(self, bloodGroup, unitinHand):
self.bloodGroup = bloodGroup
self.unitinHand = unitinHand
class BloodBank:
def __init__(self,bloodList):
self.bloodList = bloodList
def isBloodAvailable(self, blood_grp, units):
for blood in self.bloodList:
if blood.bloodGroup==blood_grp and units<=blood.unitinHand:
blood.unitinHand-=units
return True
return False
def findMinBloodStock(self):
minBloodCounts = self.bloodList[0].unitinHand
minBlood = self.bloodList[0].bloodGroup
for i in range(1,len(self.bloodList)):
if(self.bloodList[i].unitinHand < minBloodCounts):
minBlood = self.bloodList[i].bloodGroup
minBloodCounts = self.bloodList[i].unitinHand
minBloodList = []
for blood in self.bloodList:
if blood.unitinHand == minBloodCounts:
minBloodList.append(blood.bloodGroup)
return minBloodList
if __name__ == '__main__':
bloodList = []
for _ in range(int(input())):
blood_grp = input("Enter the blood group: ").upper()
units = int(input("Units present in the blood bank: "))
bloodList.append(Blood(blood_grp,units))
blood_req = input("Enter required blood group: ").upper()
units = int(input("Enter units of blood required: "))
print("Blood is available" if BloodBank(bloodList).isBloodAvailable(blood_req,units) else "Blood is not available")
print(*BloodBank(bloodList).findMinBloodStock(), sep = ",")