End-To-End Example: Get Calories For Popular Beers

This example uses a data file "ETEE-beer-calories.txt" which contains calorie information for 254 popular beers. The calories are per 12 fluid ounces.

The data file looks like this:

...
Abita Purple Haze,128
Abita Restoration,167
Abita Turbodog,168
Amstel Light,99
Anchor Porter,209
...

Let's write a program to search for a beer by name and retrieve the number of calories in 12 ounces.

Example Run:

Enter a beer name: Stella
Searching for Stella...
Stella Artois has 154 calories per 12oz.

In [2]:
filename = "ETEE-beer-calories.txt"
try:
    with open (filename,"r") as f:
        beer = input("Enter a beer name: ").title()
        print("Searching for %s..." % (beer))
        for line in f.readlines():
            if beer in line:
                beer_name = line.split(',')[0]
                calories = int(line.split(',')[1])
                print("%s has %d calories per 12oz." % (beer_name, calories))
                break
        else:
            print("I could not find %s" % (beer))
except FileNotFoundError:
    print("Could not find data file '%s'" % (filename))


Could not find data file 'ETEE-beer-calories2.txt'

In [ ]: