import pandas import random def currency(x): return "${:.2f}".format(x) # lists to hold ticket details all_names = ["a", "b", "c", "d", "e"] all_ticket_costs = [7.50, 7.50, 10.50, 10.50, 6.50] surcharge = [0, 0, 0.53, 0.53, 0] mini_movie_dict = { "Name": all_names, "Ticket Price": all_ticket_costs, "Surcharge": surcharge } mini_movie_frame = pandas.DataFrame(mini_movie_dict) # mini_movie_frame = mini_movie_frame.set_index('Name') # Calculate the total ticket cost (ticket + surcharge) mini_movie_frame['Total'] = mini_movie_frame['Surcharge'] \ + mini_movie_frame['Ticket Price'] # Calculate profit per ticket mini_movie_frame['Profit'] = mini_movie_frame['Ticket Price'] - 5 # choose winner winner_name = random.choice(all_names) # get position of winner name win_index = all_names.index(winner_name) # look up ticket price total_won = mini_movie_frame.at[win_index, 'Total'] # set index at end mini_movie_frame = mini_movie_frame.set_index('Name') # output table print(mini_movie_frame) print() print('---- Raffle Winner ----') print("Congratulations, {}. You have won ${} ie: your ticket is free!".format(winner_name, total_won)) # Calculate totals total = mini_movie_frame['Total'].sum() profit = mini_movie_frame['Profit'].sum() # currency formatting add_dollars = ['Ticket Price', 'Surcharge', 'Total', 'Profit'] for var_item in add_dollars: mini_movie_frame[var_item] = mini_movie_frame[var_item].apply(currency) print() print("Ticket Cost") # output ticket sales and profit print("Total Ticket Sales: ${:.2f}".format(total)) print("Total Profit: ${:.2f}".format(profit))