Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional...

17
Q and A for Section 4.4 CS 106, Fall 2014

Transcript of Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional...

Page 1: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q and A for Section 4.4

CS 106, Fall 2014

Page 2: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q1

Q: The syntax for an if statement (or conditional statement) is:

if _______________ : _____________ A: if <boolean expression>: <body>

Page 3: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q2

Q: Write code that prints out "Brilliant!" if the value in variable food is "spam".

A: if food == "spam": print "Brilliant!"

Page 4: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q3

Q: What happens if the value of food is "bubble and squeak"?

A: Nothing.

Page 5: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q4

Q: Write code to print "Brilliant!" if food is "spam" and how_prepared is "on toast".

A: if food == "spam" and how_prepared == "on toast":

print "Brilliant!"(or...)

What if we don't like it on toast?

Page 6: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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!"

Page 7: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q6

Q: An if-else statement has this format:if _____________ : ___________else: ___________A: <boolean expression>; <if body>; <else body>

Page 8: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q7

Q: Suppose you have a function is_prime(x) that returns True if x is a prime number. Write code to add x to a list primes if x is prime and to a list non_primes otherwise.

A: if is_prime(x): primes.append(x)else: non_primes.append(x)

Page 9: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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)

Page 10: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Non-booleans used as booleans

Q: In the “for the guru” on page 142, there is code if not dinner:. Can you explain that?

A: Why, yes. Yes, I can. The pattern is if <boolean expression>:

So, if the expression given is not a boolean (dinner is a string), then it is converted to a boolean, as if bool(dinner) were called. In general, if a value is empty (“” or []), the value is False; else, True.

Page 11: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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' !!)

Page 12: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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 = 0countGs = 0for ch in gen:

if ch == 'A':countAs += 1

elif ch == 'G':countGs += 1

Page 13: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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

Page 14: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Q12

Q: What can we do to the previous code to print out "Oops!" if op contains a bad value?

A: Addelse:

print 'Oops!'

Page 15: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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)elif j > 9:do_something_else(j)

Page 16: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

Nested if vs. elif

Q: When would you prefer an if nested inside an else, over using an elif.A: An if-else is a binary decision: there are two choices. An if-elif-elif-else is an n-way decision: some variable can belong to n different “groups” or “classes”. If you are comparing a variable n to something, and then in one of the results have to “classify” some other variable, use a nested if.

Page 17: Q and A for Section 4.4 CS 106, Fall 2014. Q1 Q: The syntax for an if statement (or conditional statement) is: if _______________ : _____________ A: if.

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'