# CS21: Quiz 2 Study Guide

### In addition to all concepts from Quiz 1...

#### You should be able to define the following terms:

• data types: integer, float, string, Boolean
• branching and looping
• the accumulator design pattern
• string indexing

#### You should understand and be able to use the following python concepts:

• basic for loops
• range()
• basic arithmetic expressions using +, -, *, /, //, **, %
• conversion between the int, float, and str types
• the empty string ""
• string concatenation with +, string repetition with *
• string indexing with []
• for loops over strings
• len()
• tracing a program (show the output)
• if, if/else, if/elif/else
• the relational Boolean operators <, <=, ==, >, >=, !=
• the logical Boolean operators and, or, and not
• nested statements (e.g., nested if statements, if/else in a loop, etc.)
• print formatting
• accumulator pattern using string, float, or int variables

#### Practice problems:

1. Show the output from the following code fragments:
for x in range(6):
print(x, x**2)
print("done!")
text = "hello!"
for i in range(len(text)):
print("-" + text[i] + "-")
1. Given these assignments:
x = 5
y = 13
S = "we love computer science"
isDone = False

Show the value and type of each expression below:

x < 10 and y < 10
x < 10 or y < 10
x < 10 and x > 0
x > 10 or x < 0
(5/x) > 7.0
len(S) >= 10
S < S
not isDone
1. Consider the following program
x = 3
print("%d  %d" % (0,x))
for i in range(5):
if x % 2 == 0:
x = x / 2
else:
x = (3*x+1)/2
print("%d  %d" % (i,x))
1. Trace the program and show its output.
2. Create a table having columns for i, and x and show how the values change as the loop executes.
1. Write a program that asks the user how many grades they want to average, prompts the user for those grades, and prints the average.
Enter number of grades to average: 5

Enter grade: 96
Enter grade: 86
Enter grade: 76
Enter grade: 66
Enter grade: 56

Average is: 76.0
1. Write a program that asks the user for a word, and then uses an accumulator to print out the word with all lowercase "e"s changed to uppercase "E"s.
Enter a word: repetitive

rEpEtitivE