# BBM103: Introduction to Programming Laboratory I PROGRAMMING ASSIGNMENT 2

\$35.00

Category:

## Description

Problem 1(45 points): In this problem, you are expected to write a Python program “problem1.py”.
You should implement a Python function avgFirstThreeDigit() that, when a given list of 3-4 or 5 digit
integers, returns the average of sum of the first three digits of each integers in the reversed order.
Read data from “Integers.txt”, and put them in a list named ListIntegers. Please do not forget use
semicolon as delimiter.
A sample input-output is provided below:
#Read data from file, do not implement list shown below. It is just a sample.
ListIntegers = [18957, 30647, 4653, 1230, 168, 501, 99985, 87965, 534]
output= avgFirstThreeDigit(ListIntegers)
print(output)
This program should output:
Problem 2(55 points) Mr. McCarthy and his family want to buy a new house. There are five houses
they like, but they must consider several factors to decide which the best one is. These factors are
the initial cost of the house, the estimated annual fuel costs, and annual tax rate. In this problem,
you are expected to write a Python program “problem2.py” that will determine the total cost after a
10 year period for each set of a house data in “HouseData.txt” file. You should read the costs from
file and put them in a two-dimensional list named bulletList. Use “ ” (keyboard space bar) as
delimiter. Implement three functions whose names are calculateTotalCost(), displayCosts() and
 calculateTotalCost() function should calculate the total cost after 10 year period for each
house and put the results in a list named ResultList.
HINT: To calculate the total house cost, add the taxes for 10 years and the fuel cost for 10
years to initial house cost. Taxes for 10 years can be calculated by multiplying initial house
cost by tax rate and 10.
 displayCosts() function should display the total costs of all houses calculated in
CalculateTotalCost() function.
Fall 2016
BBM103: Introduction to Programming Laboratory I
 selectBestBuy() function should determine which house they should buy, of course, it should
be the cheapest one in the overall.
 calculateTotalCost() function should be called by other functions.
“HouseData.txt”
118920 2420 0.045
343600 1660 0.072
226250 9876 0.027
127500 2670 0.025
529600 26922 0.052
In “HouseData.txt” file, each row holds necessary data (initial house cost, the estimated
annual fuel cost and annual tax rate) for one house. Initial house costs are hold in first colon,
the estimated annual fuel costs are hold in second colon and the last column holds annual
tax rates.
A sample input-output is provided below:
This program should output:
Fall 2016
BBM103: Introduction to Programming Laboratory I
NOTES:
 Your programs will be executed in DEV machine, please make it work on dev before submitting. For
example, you should use
python3 problem1.py
syntax to execute your first program in DEV machine. If you use “pyton problem1.py” syntax, DEV
machine executes your program according to python 2.7.
 Do not miss the submission date.
 Please do not make any change in input text files, only read data from them.
 Input file names will be fixed, you can hardcode them into your program.
 The assignment must be original, individual work. Duplicate or very similar assignments are will be
threated according to regulations. General discussion of the problem is allowed, but do not share
answers, algorithms or source codes. Keep in mind that you will get points for every little thing you
do.
 You can ask your questions about the assignment via Piazza and you are supposed to be aware of
everything discussed in Piazza.
(https://piazza.com/hacettepe.edu.tr/fall2016/bbm101)
 Questions sending to my e-mail address will not be taken into account.
 You will submit your work from https://submit.cs.hacettepe.edu.tr/index.php
with the file hierarchy as below:

problem1.py
problem2.py
 This file hierarchy must be zipped before submitted (Not .rar, only .zip files are supported by the
system)
 Assignments which don’t have the wanted directory structure will not be evaluated.
 You can get punishment points if you don’t follow the rules defined above.