Python Answers
Python Answers
Python Tutorial
Exercises with
Answers
Youtube: https://www.youtube.com/channel/UCh9nVJoWXmFb7sLApWGcLPQ
Website: https://www.codebasicshub.com
Facebook: https://www.facebook.com/codebasicshub
Twitter: https://twitter.com/codebasicshub
Contents
Variables ................................................................................................. 3
Numbers ................................................................................................. 4
Strings ..................................................................................................... 5
Lists ......................................................................................................... 6
If Statement ............................................................................................ 7
For/While Statement .............................................................................. 8
Functions .............................................................................................. 10
Dictionaries/Tuples ............................................................................... 11
Reading/Writing Files ............................................................................ 12
Variables
1. Create a variable called break and assign value 100 to it. Explain the reason behind
output that you see when you create this variable
Answer:
>>>break=100
SyntaxError: invalid syntax
break is a special keyword and the rule is you can not use any keywords as variable
names.
2. Create two variables, one to store your birth year and another to store current year.
Using these two variables calculate your age
Answer:
>>>birth_year=1982
>>>current_year=2016
>>age=current_year - birth_year
>>>print(age)
>>>34
3. Create three variables to store your first name, middle name and last name. Now print
your full name using these variables
Answer:
>>> first="Tom"
>>> middle="Cruise"
>>> last="Mapother"
>>> print("Full Name:",first,middle,last)
Full Name: Tom Cruise Mapother
Numbers
1. Find out an area of a triangle whose base is 15 meter and height is 22 meter. The
mathematical equation for an area of a triangle is: Area = ½*Base*Height
Answer:
>>> base=15
>>> height=22
>>> area=1/2*(base*height)
>>> area
165.0
2. You bought 9 packets of potato chips from a store. Each packet costs 1.49 dollar and
you gave shopkeeper 20 dollar. Find out using python, how many dollars is the
shopkeeper going to give you back?
Answer:
>>> num_packets=9
>>> cost_per_packet=1.49
>>> total_cost=num_packets*cost_per_packet
>>> money_paid=20
>>> cash_back=money_paid-total_cost
>>> cash_back
6.59
3. The bathroom of your home is an exact square. You want to replace tiles in it. Length of
this bathroom is 5.5 feet. How many square foot of tiles you need to buy? Equation for
an area of a square is: Area = Length to the power of 2. Find it out using python
Answer:
>>> length=5.5
>>> area=length**2
>>> area
30.25
Strings
1. Create a string variable to store this text Earth revolves around the sun,
a. Print substring “revolves”
b. Print substring “sun” using negative index
Answer:
2. Create a string variable to store this text Earth revolves around the “sun” and print it
Answer:
3. Create three string variables with values “I love eating“, “veggies”, “fruits”,
a. Print “I love eating veggies and fruits” (Hint: Use + operator)
b. Create fourth variable to store number of fruits you eat every day. Say for
example you eat 2 fruits every day, in that case print “I love eating 2 fruits
everyday”
Answer:
>>> num_fruits=2
>>> s1+" "+str(num_fruits)+" "+s3+" everyday"
'I love eating 2 fruits everyday'
Lists
1. Let us say your expense for every month are listed below,
January - 2200
February - 2350
March - 2600
April - 2130
May - 2190
Create a list to store these monthly expenses and using that find out,
a. In Feb, how many dollars you spent extra compare to January?
b. Find out your total expense in first quarter (first three months) of the year.
c. Find out if you spent exactly 2000 dollars in any month
d. June month just finished and your expense is 1980 dollar. Add this item to our
monthly expense list
e. You returned an item that you bought in a month of April and got a refund of
200$. Make a correction to your monthly expense list based on this
Answer:
(a)
>>> exp[1]-exp[0]
150
(b)
>>> exp[0]+exp[1]+exp[2]
7150
(c)
>>> 2000 in exp
False # Means you didn’t spend 2000$ in any of the month
(d)
>>> exp.append(1980)
>>> exp
[2200, 2350, 2600, 2130, 2190, 1980]
(e)
>>> exp[3] = exp[3] - 200
>>> exp[3]
1930
If Statement
1. Write a program that uses following list of cities per country,
usa = [ “atlanta”, “new york”, “chicago”, “baltimore”]
uk = [“london”, “bristol”, “cambridge”]
india = [“mumbai”,”delhi”, “banglore”]
a. Write a program that asks user to enter a city name and it should tell you which
country it belongs to
b. Write a program that asks user to enter two cities and tell you if they both are in
same country or not
Answer (a):
if city in usa:
print(city, "is in USA")
elif city in uk:
print(city, "is in UK”)
elif city in india:
print(city,”is in india”)
else:
print(“I don’t know the country of”,city)
Execution 1:
Enter name of the city: delhi
delhi is in india
Execution 2:
Enter name of the city: paris
I don’t know the country of paris
Answer (b):
Execution 1:
Enter city 1: london
Enter city 2: bristol
Both cities are in uk
Execution 2:
Enter city 1: atlanta
Enter city 2: mumbai
They don't belong to same country
For/While Statement
1. After flipping a coin 10 times you got this result,
result = ["heads","tails","tails","heads","tails","heads","heads","tails","tails","tails"]
Using for loop figure out count for “heads”.
Answer:
result = ["heads","tails","tails","heads","tails","heads","heads","tails","tails","tails"]
count = 0
for item in result:
if item == "heads":
count += 1
print("Heads count: ",count)
Execution:
Heads count: 4
2. Your monthly expense list (from Jan to May) looks like this,
expense_list = [2340, 2500, 2100, 3100, 2980]
Write a program that asks you to enter an expense amount and program should tell you
in which month that expense occurred. If expense is not found, then convey that as well.
Answer:
month = -1
for i in range(len(expense_list)):
if e == expense_list[i]:
month = i
break
if month != -1:
print('You spent',e,'in',month_list[month])
else:
print('You didn\'t spend',e,'in any month')
Execution 1:
Enter expense amount: 2500
You spent 2500 in February
Execution 2:
Enter expense amount: 5000
You didn’t spend 5000 in any month
3. Write a program that prints following shape, (Hint: Use for loop inside another for loop)
*
**
***
****
*****
Answer:
for i in range(1,6):
s = ''
for j in range(i):
s += '*'
print(s)
Functions
1. Write a function called calculate_area that takes base and height as an input arguments
and returns an area of a triangle as an output. Here is the equation for an area of a
triangle,
Triangle Area = ½*base*height
Answer:
2. Modify above function to take third parameter called shape type. Shape type could be
either triangle or rectangle. Based on shape type it should calculate area. Equation for
rectangle’s area is,
Rectangle Area = length*width
If no shape is supplied, then assume it to be triangle
Answer:
def calculate_area(dimension1,dimension2,shape="triangle"):
'''
:param dimension1: In case of triangle it is "base". For rectangle it is "length".
:param dimension2: In case of triangle it is "height". For rectangle it is "width".
:param shape: Either "triangle" or "rectangle"
:return: Area of a shape
'''
if shape=="triangle":
area=1/2*(dimension1*dimension2) # Triangle area is : 1/2(Base*Height)
elif shape=="rectangle":
area=dimension1*dimension2 # Rectangle area is: Length*Width
else:
print("***Error: Input shape is neither triangle nor rectangle.")
area=None # If user didn't supply "triangle" or "rectangle" then return None
return area
3. Write a function called print_pattern that takes integer number as argument and prints
following pattern if input number is 3,
*
**
***
If input is 4 then it should print,
*
**
***
****
Also if user doesn’t supply any argument then it should assume input to be 5
Answer:
def print_pattern(n=5):
for i in range(n):
s = ''
for j in range(i+1):
s = s + '*'
print(s)
Dictionaries/Tuples
1. Write python program that allows to store age of your family members. Program should
ask to enter person name and age and once you are done you should be able to input
name of the person and program should tell the age. Now print name of all your family
members along with their ages
Answer:
def age_dictionary():
'''
Exercise 1
This program asks for person name and age and builds a dictionary using that
Later on you can input person name and it will tell you the age of that person
:return:
'''
d = {}
while True:
person = input("Enter person name, to stop don't enter anything and hit Enter key:")
if person == '':
break
age = input("Enter age:")
d[person] = age
print(“Now enter name of the person and I'll tell you his/her age")
while True:
name = input("Enter person name, to stop don't enter anything and hit Enter key:")
if name == '':
break
if name in d:
print ("Age of", name, "is:", d[name])
else:
print ("I don't know the age of",name)
print ("Age dictionary program is finished now")
age_dictionary()
2. Write a function called add_and_multiply that takes two numbers as input and it should
return sum and multiplication as two separate numbers.
Answer:
def add_and_multiple(n1,n2):
'''
Exercise 2
:param n1: Number 1
:param n2: Number 2
:return: a tuple containing sum and multiplication of two input numbers
'''
sum = n1 + n2
mult = n1 * n2
return sum, mult
n1=4
n2=6
s,m=add_and_multiple(n1,n2)
print("sum:",s,"multipication:",m," Input numbers:",n1,"and",n2)
Reading/Writing Files
1. File input.txt contains numbers separated by comma as shown below,
6,8
7,6
2,8
9,5
9,6
Answer:
return count
c = countNum("C:\\Code\\Py\\Basics\\input.txt",9)
print("count: ",c)
b. Change input.txt so that when program ends it contains sum of all numbers in a line
as shown below,
6,8,sum: 14
7,6,sum: 13
2,8,sum: 10
9,5,sum: 14
9,6,sum: 15
Answer:
def sum_numbers(file_path):
output_lines = []
with open(file_path,"r") as f:
for line in f.readlines():
tokens = line.split(",")
total = sum_tokens(tokens)
output_lines.append("sum: " + str(total) + " | " + line)
with open(file_path,"w") as f:
f.writelines(output_lines)
def sum_tokens(tokens):
sum = 0
for token in tokens:
sum += int(token)
return sum
sum_numbers("C:\\Code\\Py\\Basics\\input.txt")