From 8c26371331f08446690885438c3ea36b2eeee52c Mon Sep 17 00:00:00 2001 From: raylu Date: Sat, 4 Jun 2011 01:36:18 -0700 Subject: Lab 3 (pizza) --- graders/genpizza.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 graders/genpizza.py (limited to 'graders/genpizza.py') diff --git a/graders/genpizza.py b/graders/genpizza.py new file mode 100644 index 0000000..82f63a2 --- /dev/null +++ b/graders/genpizza.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +handout = [ + {'toppings': [('pepperoni', 0)], 'size': 12}, + { + 'toppings': [ + ('tomato', 1), + ('sauce', 2), + ], + 'size': 8 + }, + { + 'toppings': [ + ('some stuff', 0), + ('other stuff', 1), + ('even more stuff', 1), + ], + 'size': 10 + }, + { + 'toppings': [ + ('tomato', 1), + ('sauce', 2), + ('', 0), + ('food', 0), + ], + 'size': 6 + }, + ] +invalid = [ + {'toppings': [('pepperoni', 0)], 'size': 10}, + {'toppings': [('biribiri', 0)]}, + {'size': 6}, + {'toppings': [('pepperoni', 0)], 'size': 9}, + {'toppings': [('cheese', 1)], 'size': 12}, + ] + +def write_pizza(f, pizza): + if 'toppings' in pizza: + for topping in pizza['toppings']: + f.write('%s,%d,' % (topping[0], topping[1])) + if 'size' in pizza: + f.write(str(pizza['size'])) + f.write('\n') + +def write_pizfile(filename, pizzas): + f = open(filename, 'w') + for pizza in pizzas: + write_pizza(f, pizza) + f.close() + +write_pizfile('handout.piz', handout) +write_pizfile('invalid.piz', invalid) -- cgit v1.2.3