TCS python hands-on problem 2023
def firt(n):
return n[0]
def sort(lst):
return sorted(lst,key=firt)
class City:
def __init__(self,city_id,state_name,city_name,covidbeds,avlblcovbeds,ventilbeds,avlblventilbeds):
self.city_id = city_id
self.state_name = state_name
self.city_name = city_name
self.covidbeds = covidbeds
self.avlblcovbeds = avlblcovbeds
self.ventilbeds = ventilbeds
self.avlblventilbeds = avlblventilbeds
class CovBedsAnalysis:
def __init__(self,analysis_name,city_list):
self.analysis_name = analysis_name
self.city_list = city_list
def get_StateWiseAvlblBedStats(self):
self.state = []
self.list_of_state = []
for city in self.city_list:
if city.state_name not in self.state:
self.state.append(city.state_name)
self.list_of_state.append([city.state_name,city.avlblcovbeds,city.avlblventilbeds])
else:
for st in self.list_of_state:
if(st[0] == city.state_name):
st[1] += city.avlblcovbeds
st[2] += city.avlblventilbeds
out_list = []
for statee in self.list_of_state:
out_list.append(tuple(statee))
return sort(out_list)
def count_no_city(self,state_nm):
count = 0
for city in self.city_list:
if city.state_name == state_nm:
count = count + 1
return count
def get_CiitesWithMoreThanAvgOccupiedbeds(self,state_nm):
avgCobBed = 0
avgVetBed = 0
out_dict = {}
for stt in self.list_of_state:
if(stt[0] == state_nm):
avgCobBed = stt[1]/self.count_no_city(state_nm)
avgVetBed = stt[2]/self.count_no_city(state_nm)
break
for city in self.city_list:
if city.state_name == state_nm:
if city.avlblcovbeds > avgCobBed and city.avlblventilbeds > avgVetBed:
out_dict[city.city_name] = (city.covidbeds - city.avlblcovbeds, city.ventilbeds - city.avlblventilbeds)
return out_dict
if __name__ == "__main__":
t = int(input())
list_of_city = []
while t > 0:
city_id = int(input())
state_name = input()
city_name = input()
covidbeds = int(input())
avlblcovbeds = int(input())
ventilbeds = int(input())
avlblventilbeds = int(input())
temp_obj_city = City(city_id,state_name,city_name,covidbeds,avlblcovbeds,ventilbeds,avlblventilbeds)
list_of_city.append(temp_obj_city)
t = t - 1
st = input()
analysis = CovBedsAnalysis("name",list_of_city)
state_list_analysis = analysis.get_StateWiseAvlblBedStats()
for statet in state_list_analysis:
print(str(statet[0])+" "+str(statet[1])+" "+ str(statet[2]))
mor_than_avg = analysis.get_CiitesWithMoreThanAvgOccupiedbeds(st)
if(len(mor_than_avg) == 0):
print("No city available")
else:
for city,lst in mor_than_avg.items():
print(city+" "+str(lst[0])+" "+str(lst[1]))
Compile this code it's shows Traceback (most recent call last): File "/tmp/2199945_1680193329/22896116737.py", line 74, in EOFError: EOF when reading a line
Input: 5 101 Delhi Delhi 100000 20000 5000 2000 102 Telangana Hyderabad 200000 40000 1000 500 103 Telangana Warangal 100000 30000 2000 1000 104 AndhraPradesh Vijayawada 800000 300000 30000 2500 105 AndhraPradesh Vizag 500000 100000 6000 1000 AndhraPradesh
Output:
AndhraPradesh 400000 3500 Delhi 20000 2000 Telangana 70000 1500 Vijayawada 500000 27500