Highlights from this chapter include:
- Expressions and statements can be run interactively using a shell.
- Input strings can be converted to other types. Ex:
int(input())
. - Strings can be concatenated with other types. Ex:
"$" + str(cost)
. - Floats are subject to round-off and overflow errors.
- Integers can be divided exactly using
//
and%
. - Modules like
math
provide many useful functions. - Formatting long lines helps improve readability.
At this point, you should be able to write programs that ask for input of mixed types, perform mathematical calculations, and output results with better formatting. The programming practice below ties together most topics presented in the chapter.
Function | Description |
---|---|
abs(x) |
Returns the absolute value of |
int(x) |
Converts |
float(x) |
Converts |
str(x) |
Converts |
round(x, ndigits) |
Rounds |
Operator | Description |
|
Creates a string with |
|
Divides |
|
Divides |
|
Divides |
Try It
Baking bread
The holidays are approaching, and you need to buy ingredients for baking many loaves of bread. According to a recipe by King Arthur Flour, you will need the following ingredients for each loaf:
- 1 1/2 teaspoons instant yeast
- 1 1/2 teaspoons salt
- 1 1/2 teaspoons sugar
- 2 1/2 cups all-purpose flour
- 2 cups sourdough starter
- 1/2 cup lukewarm water
Write a program that inputs the following variables: bread_weight
(float), serving_size
(float), and num_guests
(int). The output will look like the following:
Note: The measures the program comes up with are exact, but to bake, the baker would have to use some approximation. Ex: 9.765625 cups all-purpose flour really means 9 and 3/4 cups.
For 25 people, you will need 3.90625 loaves of bread:
5.859375 teaspoons instant yeast
5.859375 teaspoons salt
5.859375 teaspoons sugar
9.765625 cups all-purpose flour
7.8125 cups sourdough starter
1.953125 cups lukewarm water
In the above output, bread_weight
is 16.0 ounces, serving_size
is 2.5 ounces, and num_guests
is 25 people. Use these three variables to calculate the number of loaves needed.
Make sure your output matches the above example exactly. Notice that each line of the ingredients begins with two spaces.
Try It
Tip calculator
Google has a variety of search tricks that present users with instant results. If you search on Google for tip calculator, an interactive tool is included at the top of the results. The goal of this exercise is to implement a similar tip calculator.
Begin by prompting the user to input the following values (user input in bold):
43.21
Percentage to tip: 18
Number of people: 2
Enter bill amount: 43.21
Percentage to tip: 18
Number of people: 2
Then calculate the tip amount and total amount for the bill, based on the user input. Output the results using this format:
Tip amount: $7.78
Total amount: $50.99
Tip per person: $3.89
Total per person: $25.49
Your program should output all dollar amounts rounded to two decimal places. The output should be exactly six lines, as shown above. Notice the blank line before each section of the output. Notice also the space before but not after the dollar sign.