Skip to main content

Day 4: Class vs. Instance || HackerRank || solution in Python

 

Problem

Objective

In this challenge, we're going to learn about the difference between a class and an instance; because this is an Object Oriented concept, it's only enabled in certain languages. Check out the Tutorial tab for learning materials and an instructional video!

Task
Write a Person class with an instance variable, , and a constructor that takes an integer, , as a parameter. The constructor must assign  to  after confirming the argument passed as  is not negative; if a negative argument is passed as , the constructor should set  to  and print Age is not valid, setting age to 0.. In addition, you must write the following instance methods:

  1. yearPasses() should increase the  instance variable by .
  2. amIOld() should perform the following conditional actions:
    • If , print You are young..
    • If  and , print You are a teenager..
    • Otherwise, print You are old..

To help you learn by example and complete this challenge, much of the code is provided for you, but you'll be writing everything in the future. The code that creates each instance of your Person class is in the main method. Don't worry if you don't understand it all quite yet!

Note: Do not remove or alter the stub code in the editor.

Input Format

Input is handled for you by the stub code in the editor.

The first line contains an integer,  (the number of test cases), and the  subsequent lines each contain an integer denoting the  of a Person instance.

Output Format

Complete the method definitions provided in the editor so they meet the specifications outlined above; the code to test your work is already in the editor. If your methods are implemented correctly, each test case will print  or  lines (depending on whether or not a valid  was passed to the constructor).

Sample Input

4
-1
10
16
18

Sample Output

Age is not valid, setting age to 0.
You are young.
You are young.

You are young.
You are a teenager.

You are a teenager.
You are old.

You are old.
You are old.


#Program in PYTHON 
class Person:
    def __init__(self,initialAge):
        if initialAge<10:
            print('Age is not valid, setting age to 0.')
            self.age=0
        else:
            self.age=initialAge

    def amIOld(self):
        if self.age<13:
            print('You are young.')
        elif self.age<18:
            print('You are a teenager.')
        else:
            print('You are old.')
        
        # Do some computations in here and print 
    def yearPasses(self):
        self.age+=1

Input :

4
-1
10
16
18

Output :

You are young.
You are young.

You are young.
You are a teenager.

You are a teenager.
You are old.

You are old.
You are old.
 
 

 

Comments

Popular posts from this blog

Day 0: Hello, World. | HackerRank || Python3

Objective In this challenge, we review some basic concepts that will get you started with this series. You will need to use the same (or similar) syntax to read input and write output in challenges throughout HackerRank. Check out the Tutorial tab for learning materials and an instructional video!  Task  To complete this challenge, you must save a line of input from stdin to a variable, print Hello, World. on a single line, and finally print the value of your variable on a second line. You've got this!   Note:  The instructions are Java-based, but we support submissions in many popular languages. You can switch languages using the drop-down menu above your editor, and the variable may be written differently depending on the best-practice conventions of your submission language.   Input Format  A single line of text denoting (the variable whose contents must be printed).  Output Format   Print Hello, World. on the first line, and ...

Day 1: Data Types | HackerRank | solution in python

 Program Objective Today, we're discussing data types. Check out the Tutorial tab for learning materials and an instructional video! Task Complete the code in the editor below. The variables  ,  and   are already declared and initialized for you. You must: Declare   variables: one of type  int , one of type  double , and one of type  String . Read   lines of input from stdin (according to the sequence given in the  Input Format  section below) and initialize your   variables. Use the   operator to perform the following operations: Print the sum of   plus your int variable on a new line. Print the sum of   plus your double variable to a scale of one decimal place on a new line. Concatenate   with the string you read as input and print the result on a new line. Note:  If you are using a language that doesn't support using   for string concatenat...