Python,C,C++ and JAVA programs for CBSE, ISC, B.Tech and I.T Computer Science and MCA students

The Programming Project: PYTHON PROGRAM FOR BEGINNERS : SCHOOL LEVEL

Sunday, December 6, 2020

PYTHON PROGRAM FOR BEGINNERS : SCHOOL LEVEL

 Calculating How Old Your Dog is in Human Years

This assignment is designed to give you practice writing code and applying lessons and topics for the current module.


This homework deals with the following topics:


Getting user input

Error checking

Variables & data types

Conditionals

The Assignment


In this assignment, you will write a program in Python that calculates a dog’s age in human years.


The program will prompt the user for an age in dog years and calculate that age in human years.  Allow for int or float values, but check the user’s input to make sure it's valid -- it should be numeric and positive.  Otherwise, let the user know their input is not valid.


You can use the following rules to approximately convert a medium-sized dog’s age to human years:


For the first year, one dog year is equal to 15 human years

For the first 2 years, each dog year is equal to 12 human years

For the first 3 years, each dog year is equal to 9.3 human years

For the first 4 years, each dog year is equal to 8 human years

For the first 5 years, each dog year is equal to 7.2 human years

After that, each dog year is equal to 7 human years.  (Note: This means the first 5 dog years are equal to 36 human years (5 * 7.2) and the remaining dog years are equal to 7 human years each.)

Print the result in the following format, substituting for <dog_age> and <human_age>: "The given dog age <dog_age> is <human_age> in human years."  Round the result to 2 decimal places.  


For example:


If the user enters 2, the program will print: “The given dog age 2 is 24.0 in human years.”

If the user enters 3, the program will print: “The given dog age 3 is 27.9 in human years.”

If the user enters 4.5, the program will print: “The given dog age 4.5 is 32.4 in human years.”

If the user enters 12.1, the program will print: “The given dog age 12.1 is 85.7 in human years.”

Considering invalid inputs:


Your program must ask the user for an age in dog years - hint: use the input() function

We are going to test invalid inputs - make sure that your code can handle negative value inputs and non-numerical inputs!

For invalid inputs, make sure that your printed response adheres to the following:

     - If a text-based input is provided, make sure your response contains the word 'invalid'.  For example, if the user doesn’tinput a number, print “<age> is invalid.”, substituting for <age>.


     - If a negative input is provided, make sure your response contains the word 'negative'.  For example, if the user inputs a negative number, print “Age cannot be a negative number.”

  

  Python CODE:

 dog_age=(input("Enter the dog's age:"))

flag=False
try:
    dog_age = float(dog_age)
    dog_age_in_Human_years=0
    if dog_age <0:
        flag = True
    elif 0 < dog_age <=1:
        dog_age_in_Human_years += dog_age*15.0
    elif 1dog_age <=2:
        dog_age_in_Human_years += dog_age*12.0
    elif 2dog_age <=3:
        dog_age_in_Human_years += dog_age*9.3
    elif 3dog_age <=4:
        dog_age_in_Human_years += dog_age*8.0
    elif 4dog_age <=5:
        dog_age_in_Human_years += dog_age*7.2
    else:
        dog_age_in_Human_years += 5*7.2+(dog_age-5)*7.0 
except ValueError as e:
    print("Your input is invalid")
if flag == False:
    print("The given dog age"dog_age"is"round(dog_age_in_Human_years,2), "in human years.")
else:
    print("Age cannot be a negative number")
    

1 comment:

  1. import traceback
    def calculator():

    # Get dog age
    age = input("Input dog years: ")

    try:
    # Cast to float
    d_age = float(age)

    if d_age < 0:
    print("Age cannot be a negative number")
    elif 0 < d_age <= 1.0:
    h_age = d_age * 15
    h_age = "{:.2f}".format(h_age)
    print("A", d_age, "year old dog to be", h_age, "in human years")
    elif 1.0 < d_age <= 2.0:
    h_age = d_age * 12
    h_age = "{:.2f}".format(h_age)
    print("The given dog age", d_age, "is", h_age, "in human years.")
    elif 2.0 < d_age <= 3.0:
    h_age = d_age * 9.3
    h_age = "{:.2f}".format(h_age)
    print("The given dog age", d_age, "is", h_age, "in human years.")
    elif 3.0 < d_age <= 4.0:
    h_age = d_age * 8
    h_age = "{:.2f}".format(h_age)
    print("The given dog age", d_age, "is", h_age, "in human years.")
    elif 4.0 < d_age <= 5.0:
    h_age = d_age * 7.2
    h_age = "{:.2f}".format(h_age)
    print("The given dog age", d_age, "is", h_age, "in human years.")
    else:
    h_age = 36 + ( d_age - 5) * 7
    h_age = "{:.2f}".format(h_age)
    print("The given dog age", d_age, "is", h_age, "in human years.")


    except:
    print(age, "is an invalid age.")
    print(traceback.format_exc())

    calculator() # This line calls the calculator function

    ReplyDelete