Exercise 5
Mostly Spaces
In a file spaces.py
, write a function named mostly_spaces
that takes one argument: a string. The function should return True
if the string is more than half spaces, and False
otherwise. (Note: The boolean values True
and False
are not the same as the strings "True"
and "False"
.)
Include this as the main part of the program:
print(mostly_spaces("a c d"))
print(mostly_spaces("ac d"))
print(mostly_spaces("x x x "))
if mostly_spaces("1 2 3 4"):
print "yes"
else:
print "no"
if mostly_spaces("1 2 3 4"):
print "yes"
else:
print "no"
The result if you run this program with your function should be:
True
False
False
no
yes
Again, but as functions.
In this question, you will recreate older lab exercises as functions in a file functions.py
. You are welcome to use the code from your older lab solutions. You don't have to worry about error checking (numbers out of bounds, etc.) as before.
Write a function area
that calculates the area of a circle, as in lab 2. It should take a number as it argument (the radius) and return the area. So, the function call area(10)
should return 314.16.
Write a function feedback
that gives feedback on a mark, as in lab 3. It should take a number as it argument (the grade) and return a string with English feedback on the grade. So, the function call feedback(55)
should return "needs improvement"
and feedback(85)
should return "very good"
.
Running Time
Create a text file running-time.txt
. Give the running time of these algorithms (which have been expressed in Python). Assume the value of n
has already been set; express the running time in terms of n
. For each of them, the number of “steps” is the number of times the calculation in the loop is repeated.
(a)
x = 0
for i in range(2*n):
x = x + i
print(x)
(b)
x = 0
for i in range(n):
for j in range(n-1):
x = x + i*j
print(x)
(c)
x = 1
while x < n:
x = x * 2
print(x)
Remember to eliminate lower-order terms and leading constants.
Submitting
Submit all of your work through CourSys.