Nutrition Facts
The U.S. Food & Drug Adminstration (FDA) offers downloadable/printable posters that “show nutrition information for the 20 most frequently consumed raw fruits … in the United States. Retail stores are welcome to download the posters, print, display and/or distribute them to consumers in close proximity to the relevant foods in the stores.”
In a file called nutrition.py
, implement a program that prompts consumers users to input a fruit (case-insensitively) and then outputs the number of calories in one portion of that fruit, per the FDA’s poster for fruits, which is also available as text. Capitalization aside, assume that users will input fruits exactly as written in the poster (e.g., strawberries
, not strawberry
). Ignore any input that isn’t a fruit.
Hints
- Rather than use a conditional with 20 Boolean expressions, one for each fruit, better to use a
dict
to associate a fruit with its calories! - If
k
is astr
andd
is adict
, you can check whetherk
is a key ind
with code like:if k in d: ...
- Take care to output the fruit’s calories, not calories from fat!
Demo
Before You Begin
Log into cs50.dev, click on your terminal window, and execute cd
by itself. You should find that your terminal window’s prompt resembles the below:
$
Next execute
mkdir nutrition
to make a folder called nutrition
in your codespace.
Then execute
cd nutrition
to change directories into that folder. You should now see your terminal prompt as nutrition/ $
. You can now execute
code nutrition.py
to make a file called nutrition.py
where you’ll write your program.
How to Test
Here’s how to test your code manually:
- Run your program with
python nutrition.py
. TypeApple
and press Enter. Your program should output:Calories: 130
- Run your program with
python nutrition.py
. TypeAvocado
and press Enter. Your program should output:Calories: 50
- Run your program with
python nutrition.py
. TypeSweet Cherries
and press Enter. Your program should outputCalories: 100
- Run your program with
python nutrition.py
. TypeTomato
and press Enter. Your program should output nothing.
Be sure to try other fruits and vary the casing of your input. Your program should behave as expected, case-insensitively.
You can execute the below to check your code using check50
, a program that CS50 will use to test your code when you submit. But be sure to test it yourself as well!
check50 cs50/problems/2022/python/nutrition
Green smilies mean your program has passed a test! Red frownies will indicate your program output something unexpected. Visit the URL that check50
outputs to see the input check50
handed to your program, what output it expected, and what output your program actually gave.
How to Submit
In your terminal, execute the below to submit your work.
submit50 cs50/problems/2022/python/nutrition