Download hw_3.tar.gz and extract it. Then add
your homework solutions to the files contained in the directory. Rename the
directory
according to the rules in the syllabus before submitting it as compressed
archive. Starting from this homework, the grader uses so-called unit
tests, but can be executed as any other Python 3 program.
This homework is the first homework to be solved in teams of two
using pair programming. Find your partner for this homework on
moodle.uni-graz.at. Each team has to
submit only one archive containing all team members' names.
eval_polynomial(coefficients, x)
that evaluates the
polynomial given by the coefficients. Note that coefficients[i] is the coefficient of
x^i.prime_sum_to(num)
that takes an integer
num >= 0
as sole
argument. The function should return the sum of all prime numbers
<= num
. In the function, assert that the input is
≥ 0 by using assert
.celsius2fahrenheit(.)
that converts from Celsius to Fahrenheit
and fahrenheit2celsius(.)
for the other way around.perimeter_right_triangle(c1, c2)
area_right_triangle(c1, c2)
perimeter_circle(r)
area_circle(r)
surface_sphere(r)
volume_sphere(r)
surface_cylinder(r, h)
volume_cylinder(r, h)
surface_cone(r, h)
volume_cone(r, h)
interest(capital, rate, years=1, tax=0)
that returns the profit (compound interest) of investing money. If a
positive tax value is entered, every year's interest is to be reduced by
the tax. The rate
and tax
parameters must be
between 0 (0%) and 1 (100%). The number of years is integral.terminal_value(capital, rate, years=1, tax=0)
.encode(.)
that takes a string and returns the given
string rotated by 13 places. For symmetry, also provide a corresponding
decode(.)
function. Convert the input to upper case before
performing the rotation.read_string_list(.)
that opens a VRPTW
data file given as filename argument. The
argument must be optional and default to "r101"). If the argument doesn't
contain a filename extension (".txt"), this extension must be added before
opening the file. Your function should return a list of strings - one for
each entry. The headers should not be included in
that list.>>> read_string_list('r101.txt') [' 1 35.00 35.00 0.00 0.00 230.00 0.00\n', ' 2 41.00 49.00 10.00 161.00 171.00 10.00\n', ... ' 100 20.00 26.00 9.00 83.00 93.00 10.00\n', ' 101 18.00 18.00 17.00 185.00 195.00 10.00\n']Name the program file: vrptw_reader.py
get_demand(.)
takes two arguments. The first
argument should
be a list of strings (one for each entry) and the second should
be a customer number (CUST_NO.). The function has to return that customer's
demand as floating point number.
The last function, calc_distance(.)
, should take three
parameters – a list of strings and two customer numbers.
It should return the euclidean distance between the two customers.def main(): # ... print('prime_addition.prime_sum_to(9); expected: 17, actual:', prime_addition.prime_sum_to(9)) # ...The main function must be called itself using the ifmain pattern. If all went well, the main function must return 0 to inform the calling process of the successful termination. Name the program file: main.py