guests = {}
def read_guestlist(file_name):
text_file = open(file_name,'r')
n = None
while True:
if n is not None:
line_data = n.strip().split(",")
else:
line_data = text_file.readline().strip().split(",")
if len(line_data) < 2:
# If no more lines, close file
text_file.close()
break
name = line_data[0]
age = int(line_data[1])
guests[name] = age
n = yield name, age
guests_gen = read_guestlist('guest_list.txt')
for i in range(10):
print(next(guests_gen))
guests_gen.send('Jane,35')
print(next(guests_gen))
print(next(guests_gen))
print(next(guests_gen))
print(next(guests_gen))
#print(next(guests_gen))
drinks_gen = (name for name, age in guests.items() if age >= 21)
print(list(drinks_gen))
def table_one_gen():
food_name = "Beef"
table_num = 1
for i in range(1, 6):
seat_num = i
yield("Food: " + food_name, "Table: " + str(table_num), "Seat: " + str(seat_num))
def table_two_gen():
food_name = "Chicken"
table_num = 2
for i in range(1, 6):
seat_num = i
yield("Food: " + food_name, "Table: " + str(table_num), "Seat: " + str(seat_num))
def table_three_gen():
food_name = "Fish"
table_num = 3
for i in range(1, 6):
seat_num = i
yield("Food: " + food_name, "Table: " + str(table_num), "Seat: " + str(seat_num))
def connected_tables():
yield from table_one_gen()
yield from table_two_gen()
yield from table_three_gen()
all_tables = connected_tables()
def seating_arrangement(guests, all_tables):
for name in guests:
yield ("Name: " + name, next(all_tables))
seat_arrange = seating_arrangement(guests, all_tables)
for i in seat_arrange:
print(i)