From 8b5c67c3603332aa72401af5d6f95e50987d8b92 Mon Sep 17 00:00:00 2001 From: Gian Palmares <134014320+GianPalmares@users.noreply.github.com> Date: Sun, 12 Nov 2023 23:28:03 +0000 Subject: [PATCH] ThreadShed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thread Shed You’ve recently been hired as a cashier at the local sewing hobby shop, Thread Shed. Some of your daily responsibilities involve tallying the number of sales during the day, calculating the total amount of money made, and keeping track of the names of the customers. Unfortunately, the Thread Shed has an extremely outdated register system and stores all of the transaction information in one huge unwieldy string called daily_sales. All day, for each transaction, the name of the customer, amount spent, types of thread purchased, and the date of sale is all recorded in this same string. Your task is to use your Python skills to iterate through this string and clean up each transaction and store all the information in easier-to-access lists. --- ThreadShed | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 ThreadShed diff --git a/ThreadShed b/ThreadShed new file mode 100644 index 0000000..b974009 --- /dev/null +++ b/ThreadShed @@ -0,0 +1,179 @@ +daily_sales = \ +"""Edith Mcbride ;,;$1.21 ;,; white ;,; +09/15/17 ,Herbert Tran ;,; $7.29;,; +white&blue;,; 09/15/17 ,Paul Clarke ;,;$12.52 +;,; white&blue ;,; 09/15/17 ,Lucille Caldwell +;,; $5.13 ;,; white ;,; 09/15/17, +Eduardo George ;,;$20.39;,; white&yellow +;,;09/15/17 , Danny Mclaughlin;,;$30.82;,; +purple ;,;09/15/17 ,Stacy Vargas;,; $1.85 ;,; +purple&yellow ;,;09/15/17, Shaun Brock;,; +$17.98;,;purple&yellow ;,; 09/15/17 , +Erick Harper ;,;$17.41;,; blue ;,; 09/15/17, +Michelle Howell ;,;$28.59;,; blue;,; 09/15/17 , +Carroll Boyd;,; $14.51;,; purple&blue ;,; +09/15/17 , Teresa Carter ;,; $19.64 ;,; +white;,;09/15/17 , Jacob Kennedy ;,; $11.40 +;,; white&red ;,; 09/15/17, Craig Chambers;,; +$8.79 ;,; white&blue&red ;,;09/15/17 , Peggy Bell;,; $8.65 ;,;blue ;,; 09/15/17, Kenneth Cunningham ;,; $10.53;,; green&blue ;,; +09/15/17 , Marvin Morgan;,; $16.49;,; +green&blue&red ;,; 09/15/17 ,Marjorie Russell +;,; $6.55 ;,; green&blue&red;,; 09/15/17 , +Israel Cummings;,; $11.86 ;,;black;,; +09/15/17, June Doyle ;,; $22.29 ;,; +black&yellow ;,;09/15/17 , Jaime Buchanan ;,; +$8.35;,; white&black&yellow ;,; 09/15/17, +Rhonda Farmer;,;$2.91 ;,; white&black&yellow +;,;09/15/17, Darren Mckenzie ;,;$22.94;,;green +;,;09/15/17,Rufus Malone;,;$4.70 ;,; green&yellow +;,; 09/15/17 ,Hubert Miles;,; $3.59 +;,;green&yellow&blue;,; 09/15/17 , Joseph Bridges ;,;$5.66 ;,; green&yellow&purple&blue +;,; 09/15/17 , Sergio Murphy ;,;$17.51 ;,; +black ;,; 09/15/17 , Audrey Ferguson ;,; +$5.54;,;black&blue ;,;09/15/17 ,Edna Williams ;,; +$17.13;,; black&blue;,; 09/15/17, Randy Fleming;,; $21.13 ;,;black ;,;09/15/17 ,Elisa Hart;,; $0.35 ;,; black&purple;,; 09/15/17 , +Ernesto Hunt ;,; $13.91 ;,; black&purple ;,; +09/15/17, Shannon Chavez ;,;$19.26 ;,; +yellow;,; 09/15/17 , Sammy Cain;,; $5.45;,; +yellow&red ;,;09/15/17 , Steven Reeves ;,;$5.50 +;,; yellow;,; 09/15/17, Ruben Jones ;,; +$14.56 ;,; yellow&blue;,;09/15/17 , Essie Hansen;,; $7.33 ;,; yellow&blue&red +;,; 09/15/17 , Rene Hardy ;,; $20.22 ;,; +black ;,; 09/15/17 , Lucy Snyder ;,; $8.67 +;,;black&red ;,; 09/15/17 ,Dallas Obrien ;,; +$8.31;,; black&red ;,; 09/15/17, Stacey Payne +;,; $15.70 ;,; white&black&red ;,;09/15/17 +, Tanya Cox ;,; $6.74 ;,;yellow ;,; +09/15/17 , Melody Moran ;,; $30.84 +;,;yellow&black;,; 09/15/17 , Louise Becker ;,; +$12.31 ;,; green&yellow&black;,; 09/15/17 , +Ryan Webster;,;$2.94 ;,; yellow ;,; 09/15/17 +,Justin Blake ;,; $22.46 ;,;white&yellow ;,; +09/15/17, Beverly Baldwin ;,; $6.60;,; +white&yellow&black ;,;09/15/17 , Dale Brady +;,; $6.27 ;,; yellow ;,;09/15/17 ,Guadalupe Potter ;,;$21.12 ;,; yellow;,; 09/15/17 , +Desiree Butler ;,;$2.10 ;,;white;,; 09/15/17 +,Sonja Barnett ;,; $14.22 ;,;white&black;,; +09/15/17, Angelica Garza;,;$11.60;,;white&black +;,; 09/15/17 , Jamie Welch ;,; $25.27 ;,; +white&black&red ;,;09/15/17 , Rex Hudson +;,;$8.26;,; purple;,; 09/15/17 , Nadine Gibbs +;,; $30.80 ;,; purple&yellow ;,; 09/15/17 , +Hannah Pratt;,; $22.61 ;,; purple&yellow +;,;09/15/17,Gayle Richards;,;$22.19 ;,; +green&purple&yellow ;,;09/15/17 ,Stanley Holland +;,; $7.47 ;,; red ;,; 09/15/17 , Anna Dean;,;$5.49 ;,; yellow&red ;,; 09/15/17 , +Terrance Saunders ;,; $23.70 ;,;green&yellow&red +;,; 09/15/17 , Brandi Zimmerman ;,; $26.66 ;,; +red ;,;09/15/17 ,Guadalupe Freeman ;,; $25.95;,; +green&red ;,; 09/15/17 ,Irving Patterson +;,;$19.55 ;,; green&white&red ;,; 09/15/17 ,Karl Ross;,; $15.68;,; white ;,; 09/15/17 , Brandy Cortez ;,;$23.57;,; white&red ;,;09/15/17, +Mamie Riley ;,;$29.32;,; purple;,;09/15/17 ,Mike Thornton ;,; $26.44 ;,; purple ;,; 09/15/17, +Jamie Vaughn ;,; $17.24;,;green ;,; 09/15/17 , +Noah Day ;,; $8.49 ;,;green ;,;09/15/17 +,Josephine Keller ;,;$13.10 ;,;green;,; 09/15/17 , Tracey Wolfe;,;$20.39 ;,; red ;,; 09/15/17 , +Ignacio Parks;,;$14.70 ;,; white&red ;,;09/15/17 +, Beatrice Newman ;,;$22.45 ;,;white&purple&red +;,; 09/15/17, Andre Norris ;,; $28.46 ;,; +red;,; 09/15/17 , Albert Lewis ;,; $23.89;,; +black&red;,; 09/15/17, Javier Bailey ;,; +$24.49 ;,; black&red ;,; 09/15/17 , Everett Lyons ;,;$1.81;,; black&red ;,; 09/15/17 , +Abraham Maxwell;,; $6.81 ;,;green;,; 09/15/17 +, Traci Craig ;,;$0.65;,; green&yellow;,; +09/15/17 , Jeffrey Jenkins ;,;$26.45;,; +green&yellow&blue ;,; 09/15/17, Merle Wilson +;,; $7.69 ;,; purple;,; 09/15/17,Janis Franklin +;,;$8.74 ;,; purple&black ;,;09/15/17 , +Leonard Guerrero ;,; $1.86 ;,;yellow +;,;09/15/17,Lana Sanchez;,;$14.75 ;,; yellow;,; +09/15/17 ,Donna Ball ;,; $28.10 ;,; +yellow&blue;,; 09/15/17 , Terrell Barber ;,; +$9.91 ;,; green ;,;09/15/17 ,Jody Flores;,; +$16.34 ;,; green ;,; 09/15/17, Daryl Herrera +;,;$27.57;,; white;,; 09/15/17 , Miguel Mcguire;,;$5.25;,; white&blue ;,; 09/15/17 , +Rogelio Gonzalez;,; $9.51;,; white&black&blue +;,; 09/15/17 , Lora Hammond ;,;$20.56 ;,; +green;,; 09/15/17,Owen Ward;,; $21.64 ;,; +green&yellow;,;09/15/17,Malcolm Morales ;,; +$24.99 ;,; green&yellow&black;,; 09/15/17 , +Eric Mcdaniel ;,;$29.70;,; green ;,; 09/15/17 +,Madeline Estrada;,; $15.52;,;green;,; 09/15/17 +, Leticia Manning;,;$15.70 ;,; green&purple;,; +09/15/17 , Mario Wallace ;,; $12.36 ;,;green ;,; +09/15/17,Lewis Glover;,; $13.66 ;,; +green&white;,;09/15/17, Gail Phelps ;,;$30.52 +;,; green&white&blue ;,; 09/15/17 , Myrtle Morris +;,; $22.66 ;,; green&white&blue;,;09/15/17""" + +#------------------------------------------------ +# Start coding below! + +colors = ['red', 'yellow', 'green', 'white', 'black', 'blue', 'purple'] + +daily_transactions_split = [] +transactions_clean = [] +customers = [] +sales = [] +thread_sold = [] +thread_sold_split = [] + +index = 0 +total_sales = 0 + +daily_sales_replaced = daily_sales.replace(";,;", "*") +# print(daily_sales_replaced) + +daily_transactions = daily_sales_replaced.split(",") +# print(daily_transactions) + +for info in daily_transactions: + daily_transactions_split.append(info.split("*")) +# print(daily_transactions_split) + +for space in daily_transactions_split: + for whitespace in space: + transactions_clean.append(whitespace.strip()) +# print(transactions_clean) + + +for details in transactions_clean: + while index < len(transactions_clean): + customers.append(transactions_clean[index]) + sales.append(transactions_clean[index + 1]) + thread_sold.append(transactions_clean[index + 2]) + index += 4 + +# print(customers) +# print(sales) +# print(thread_sold) + +for sale in sales: + total_sales += float(sale.strip("$")) + +print(f"\nTotal sales for today: ${round(total_sales, 2)}\n") + +for colour in thread_sold: + if "&" in colour: + thread_sold_split += colour.split("&") + else: + thread_sold_split.append(colour) + +# print(thread_sold_split) + +def color_count(color): + count = 0 + for colour in thread_sold_split: + if colour == color: + count += 1 + return count + +# print(color_count(colors)) + +for colour in colors: + print(f"Sold {color_count(colour)} {colour} threads today.".format(color_count(colour), colour)) + +# for colour in colors: +# print("Sold {} {} threads today.".format(color_count(colour), colour)) + +# for colour in colors: +# print("Sold {color_count} {colour} threads today.".format(color_count = color_count(colour), colour = colour))