ExercisesΒΆ
What do these expressions evaluate to?
3 == 3
3 != 3
3 >= 4
not (3 < 4)
- True
- False
- False
- False
Give the logical opposites of these conditions. You are not allowed to use the
not
operator.a > b
a >= b
a >= 18 and day == 3
a >= 18 or day != 3
Write a function which is given an exam mark, and it returns a string — the grade for that mark — according to this scheme:
Mark Grade >= 90 A [80-90) B [70-80) C [60-70) D < 60 F The square and round brackets denote closed and open intervals. A closed interval includes the number, and open interval excludes it. So 79.99999 gets grade C , but 80 gets grade B.
Test your function by printing the mark and the grade for a number of different marks.
Write a function
findHypot
. The function will be given the length of two sides of a right-angled triangle and it should return the length of the hypotenuse. (Hint:x ** 0.5
will return the square root, or usesqrt
from the math module)
Write a function called
is_even(n)
that takes an integer as an argument and returnsTrue
if the argument is an even number andFalse
if it is odd.
Now write the function
is_odd(n)
that returnsTrue
whenn
is odd andFalse
otherwise.
Modify
is_odd
so that it uses a call tois_even
to determine if its argument is an odd integer.
Write a function
is_rightangled
which, given the length of three sides of a triangle, will determine whether the triangle is right-angled. Assume that the third argument to the function is always the longest side. It will returnTrue
if the triangle is right-angled, orFalse
otherwise.Hint: floating point arithmetic is not always exactly accurate, so it is not safe to test floating point numbers for equality. If a good programmer wants to know whether
x
is equal or close enough toy
, they would probably code it up asif abs(x - y) < 0.001: # if x is approximately equal to y ...
Extend the above program so that the sides can be given to the function in any order.
Write the function
is_prime(n)
that returnsTrue
whenn
is prime andFalse
otherwise.
A year is a leap year if it is divisible by 4 unless it is a century that is not divisible by 400. Write a function that takes a year as a parameter and returns
True
if the year is a leap year,False
otherwise.
Implement the calculator for the date of Easter.
The following algorithm computes the date for Easter Sunday for any year between 1900 to 2099.
Ask the user to enter a year. Compute the following:
- a = year % 19
- b = year % 4
- c = year % 7
- d = (19 * a + 24) % 30
- e = (2 * b + 4 * c + 6 * d + 5) % 7
- dateofeaster = 22 + d + e
Special note: The algorithm can give a date in April. Also, if the year is one of four special years (1954, 1981, 2049, or 2076) then subtract 7 from the date.
Your program should print an error message if the user provides a date that is out of range.
Note
This workspace is provided for your convenience. You can use this activecode window to try out anything you like.