Note: Don't forget to write the programs that allow the examiners to input the data and test the functions that you write. If the function can be called in several different ways, make all of those calls and print their results.
Problem 1. First write a function
compare(p1, p2) that performs an element-wise <= comparison of two vectors
p2. Each of the vectors is a string in the format
"x, y, ..., z" (a sequence of real numbers (coordinates) separated by a single comma and space combination). If each element of
p1 is less than or equal to the corresponding element in
p2, the function returns
True; otherwise the function returns
False. If the two vectors do not belong to the same vector space (they have a different number of coordinates), the function should return
Then write a program that loads two vectors in the described format and prints the result of the comparison. If the vectors do not belong to the same vector spaces, print a descriptive error. Other types of invalid input will likely crash your program; this is acceptable and need not be dealt with.
"-13.11, 7.5, -3.2"and
"17.19, 23.31, 37.41"should print "
p1 is element-wise <= p2",
"17.19, 3.31"should print "
p1 is not element-wise <= p2",
"-13.11, 7.5, -3.2"should print "
p1 and p2 are not comparable".
Problem 2. Write a function
word_freq(s) that takes as input a string
s and then prints, line by line, each of the words contained in
s and the number of occurences, with the words listed in alphabetical order. Words in
s are separated by spaces and the function should not make a distinction between words being capitalized or not. Furthermore, commas (
,) and full stops (
.) should be ignored.
word_freq("The University of Manchester is the best university, in the world.")
best 1 in 1 is 1 manchester 1 of 1 the 3 university 2 world 1
The indentation should be such that the numbers are aligned and there is enough space for the longest word to be printed. Make sure your function does not print anything when the string
s does not contain words, like for example