170 likes | 260 Views
Q and A for Section 4.4 . CS 106, Fall 2013. Q1. Q: The syntax for an if statement (or conditional statement ) is: if _______________ : _____________ A: if <boolean expression>: <body>. Q2.
E N D
Q and A for Section 4.4 CS 106, Fall 2013
Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if <boolean expression>: <body>
Q2 Q: Write code that prints out "Brilliant!" if the value in variable food is "spam". A: if food == "spam": print "Brilliant!"
Q3 Q: What happens if the value of food is "bubble and squeak"? A: Nothing.
Q4 Q: Write code to print "Brilliant!" if food is "spam" and how_preparedis "on toast". A: if food == "spam" and how_prepared == "on toast": print "Brilliant!" (or...) What if we don't like it on toast?
Q5 Q: Write code to print "Brilliant!" if food is "spam" and how_prepared is "on toast", and to print "Awesome!" if how_prepared is "in a casserole". A: if food == "spam": if how_prepared == "on toast": print "Brilliant!" if how_prepared == "in a casserole": print "Awesome!"
Q6 Q: An if-else statement has this format: if _____________ : ___________ else: ___________ A: <boolean expression>; <if body>; <else body>
Q7 Q: Suppose you have a function is_prime(x) that returns True if x is a prime number. Write code to add xto a list primes if xis prime and to a list non_primesotherwise. A: if is_prime(x): primes.append(x) else: non_primes.append(x)
Q8 Q: Write code that prints "NaN" if the list nums is empty or, otherwise, computes and prints the average of the list of floats. A: if len(nums) == 0: print "NaN" else: print sum(nums) / len(nums)
Q8.5 Q: Can you go over using lists, string, etc., as booleans in conditions? A: Yes! When used in a boolean expression in a conditional, the item is converted to a boolean – as if bool(item) were run. E.g., if you have a list groceries and sayif groceries:that’s like doing if bool(groceries):(it is True if groceries is not empty).
Q9 Q: Write code that prints "Let's go" if the variable response equals either 'y' or 'yes'. A: if response in ('y', 'yes'): print "Let's go" (not if response == 'y' or 'yes' !!)
Q10 Q: You have a list of Room objects, rooms. A Room object has a method anybody_home() that returns True if anyone is there. Write code to count how many rooms are not empty. A: someone_home = 0 for room in rooms: if room.anybody_home(): someone_home += 1 This is like a filter: do something only for certain elems in the sequence
Q10 Q: You are given a long string gen containing only As, Gs, Ts, and Cs. Write code to count the number of As and the number of Gs in the string. countAs = 0 countGs = 0 for ch in gen: if ch == 'A': countAs+= 1 elif ch == 'G': countGs+= 1
Q11 Q: You have 2 operands, op1 and op2, and an operator, op, that is one of '+', '-', '*', '/'. Write code to compute the correct result into res. A: if op == '+': res = op1 + op2 elif op == '-': res = op1 - op2 elif op == '*': res = op1 * op2 elif op == '/': res = op1 / op2
Q12 Q: What can we do to the previous code to print out "Oops!" if op contains a bad value? A: Add else: print 'Oops!'
Q13 Q: Rewrite this code using if-elif: if i < 7: do_something(i) else: if j > 9: do_something_else(j) A: if i < 7: do_something(i) elifj > 9: do_something_else(j)
Q14 Q: Write code to print out a student's letter grade, based on the value in score. Pick your own scale. A: if score > 92: print 'A' elif score > 85: print 'B' elif score > 77: print 'C' elif score > 70: print 'D' else: print 'F'