# How to Think Like a Computer Scientist: The PreTeXt Interactive Edition

## Exercises2.13Exercises

### 1.

Evaluate the following numerical expressions in your head, then use the active code window to check your results:
1. 5 ** 2
2. 9 * 5
3. 15 / 12
4. 12 / 15
5. 15 // 12
6. 12 // 15
7. 5 % 2
8. 9 % 5
9. 15 % 12
10. 12 % 15
11. 6 % 6
12. 0 % 7
Solution.
5 ** 2 = 25 9 * 5 = 45 15 / 12 = 1.25 12 / 15 = 0.8 15 // 12 = 1 12 // 15 = 0 5 % 2 = 1 9 % 5 = 4 15 % 12 = 3 12 % 15 = 12 6 % 6 = 0 0 % 7 = 0
1. 5 ** 2 = 25
2. 9 * 5 = 45
3. 15 / 12 = 1.25
4. 12 / 15 = 0.8
5. 15 // 12 = 1
6. 12 // 15 = 0
7. 5 % 2 = 1
8. 9 % 5 = 4
9. 15 % 12 = 3
10. 12 % 15 = 12
11. 6 % 6 = 0
12. 0 % 7 = 0

### 2.

What is the order of the arithmetic operations in the following expression. Evaluate the expression by hand and then check your work.

### 3.

Many people keep time using a 24 hour clock (11 is 11am and 23 is 11pm, 0 is midnight). If it is currently 13 and you set your alarm to go off in 50 hours, it will be 15 (3pm). Write a Python program to solve the general version of the above problem. Ask the user for the time now (in hours), and then ask for the number of hours to wait for the alarm. Your program should output what the time will be on the clock when the alarm goes off.
Solution.
## question 3 solution ##

current_time_string = input("What is the current time (in hours)? ")
waiting_time_string = input("How many hours do you have to wait? ")

current_time_int = int(current_time_string)
waiting_time_int = int(waiting_time_string)

hours = current_time_int + waiting_time_int

timeofday = hours % 24

print(timeofday)


### 4.

It is possible to name the days 0 through 6 where day 0 is Sunday and day 6 is Saturday. If you go on a wonderful holiday leaving on day number 3 (a Wednesday) and you return home after 10 nights you would return home on a Saturday (day 6) Write a general version of the program which asks for the starting day number, and the length of your stay, and it will tell you the number of day of the week you will return on.

### 5.

Take the sentence: All work and no play makes Jack a dull boy. Store each word in a separate variable, then print out the sentence on one line using print.
Solution.
## question 5 solution ##

word1 = "All"
word2 = "work"
word3 = "and"
word4 = "no"
word5 = "play"
word6 = "makes"
word7 = "Jack"
word8 = "a"
word9 = "dull"
word10 = "boy."

print(word1, word2, word3, word4, word5, word6, word7, word8, word9, word10)


### 6.

Add parenthesis to the expression 6 * 1 - 2 to change its value from 4 to -6.

### 7.

The formula for computing the final amount if one is earning compound interest is given on Wikipedia as
Write a Python program that assigns the principal amount of 10000 to variable P, assign to n the value 12, and assign to r the interest rate of 8% (0.08). Then have the program prompt the user for the number of years, t, that the money will be compounded for. Calculate and print the final amount after t years.
Solution.
## question 7 solution ##

P = 10000
n = 12
r = 0.08

t = int(input("Compound for how many years? "))

final = P * ( ((1 + (r/n)) ** (n * t)) )

print ("The final amount after", t, "years is", final)


### 8.

Write a program that will compute the area of a circle. Prompt the user to enter the radius and print a nice message back to the user with the answer.

### 9.

Write a program that will compute the area of a rectangle. Prompt the user to enter the width and height of the rectangle. Print a nice message with the answer.
Solution.
## question 9 solution

width = int(input("Width? "))
height = int(input("Height? "))

area = width * height

print("The area of the rectangle is", area)


### 10.

Write a program that will compute MPG for a car. Prompt the user to enter the number of miles driven and the number of gallons used. Print a nice message with the answer.

### 11.

Write a program that will convert degrees celsius to degrees fahrenheit.
Solution.
## question 11 solution ##

deg_c = int(input("What is the temperature in Celsius? "))

# formula to convert C to F is: (degrees Celcius) times (9/5) plus (32)
deg_f = deg_c * (9 / 5) + 32

print(deg_c, " degrees Celsius is", deg_f, " degrees Farenheit.")


### 12.

Write a program that will convert degrees fahrenheit to degrees celsius.