Complete the following problems on paper. Try to solve each problem on paper first before using Thonny to confirm your answers.
[PP Problem 5.1] What value does each expression produce?
True and not False
True and not false (Notice the capitalization.)
True or True and False
not True or not False
True and not 0
52 < 52.3
[PP Problem 5.6] Write a function named
different that has two parameters,
b. The function should return
b refer to
different values and should return
[PP Problem 5.9] Assume we want to print a strong warning message if a pH value is below 3.0 and otherwise simply report on the acidity. We try this if statement:
>>> ph = 2 >>> if ph < 7.0: ... print(ph, "is acidic.") ... elif ph < 3.0: ... print(ph, "is VERY acidic! Be careful.") ... 2 is acidic.
This prints the wrong message when a pH of 2 is entered. What is the problem, and how can you fix it?
Note that the
Your colleague wrote a program to describe the temperature, specifically it reports if the temperature is below freezing (in degrees fahrenheit), at freezing or above freezing. Their code is not working when the temperature is exactly 32 degrees. What is wrong and how could you fix it?
if temp == 32: print("At freezing") if temp <= 32: print("Below freezing") if temp >= 32: print("Above freezing")
firstprimes function (included below) to print out all the
prime numbers less than or equal to the parameter,
num. You can assume the
isprime function is already available in your program. It will return
True if its argument is a prime number and
def firstprimes(num): """Prints out the first num primes""" count = 0 # the number of primes we've printed out current = 1 # the current number we're checking while count < num: if isprime(current): print(current) count += 1 current += 1
Write two functions, one using a for loop and one using a while loop that print all the numbers from 1 to 20, inclusive, that are evenly divisible by 3. Your function should print one number per line.
Extend both of your functions from the previous problem to accept the inclusive start and stop as parameters, i.e. instead of the fixed range of 1 to 20, allow the caller to specify the range.
[Computing for Biologists] DNA is composed of four nucleotides, A, C, G, and
T. Although we might expect the four nucleotides to be equally common in the
genome that is not the case. On average, the GC fraction, the percentage of
nucleotides that are ‘G’ or ‘C’, of the human genome is less than 40%. The
GC fraction is also not evenly distributed. Some regions of the genome,
including where genes are found, have a higher GC fraction. Thus regions of
high GC content can be used as a signal to detect genes or other features of
interest. Write a function named
gc_fraction that takes a DNA string as a
parameter and returns the GC fraction as a floating point number (that is
the fraction of all the nucleotides in the string that are ‘G’ or ‘C’). Your
function should work for upper or lower case strings, i.e. ‘acgt’ and
‘AGTC’, should both generate a result of 0.5.