1. Define a static method getPi inside Circle which returns the value 3.14. Hint: Use staticmethod decorator.
2. Redefine the area method such that it uses the getPi static method in it.
3. Try accessing the static method by using an object and the class.
4. Check the main/tail section for output handling (read-only).
5. Use the Test against custom input box to output the result for debugging.
6. Provide float values separated by comma (refer test case samples) to display the output/error. • The output should return a key-value pair of the circle number and its corresponding area.
import os import sys #Add circle class implementation here class Circle(object): count = 0 def __init__(self, radius): self.__radius = radius Circle.count += 1 @classmethod def getCircleCount(self): return Circle.count @staticmethod def getPi(self): return 3.14 @staticmethod def square(x): return x**2 def area(self): return self.getPi(self.__radius)*self.square(self.__radius) '''Check the Tail section for input/output''' if __name__ == "__main__": with open(os.environ['OUTPUT_PATH'], 'w') as fout: res_lst = list() circcount = list() lst = list(map(lambda x: float(x.strip()), input().split(','))) for radi in lst: c=Circle(radi) res_lst.append(str(c.getCircleCount())+" : "+str(c.area())) fout.write("{}".format(str(res_lst)))
First read the answer fully, then try to explain it in your own words. After that, open a few related questions and compare the concepts. This method helps you remember the topic for a longer time and improves exam preparation.