Getting 27 for the “white” count instead of 28

If you want to remove that '\n' character you have to specify exactly that in this line of code here:

You have to use another method in conjunction with .strip() (ie: before applying .strip().

I am having an issue on step 12. The list looks correct, and I watched the video and it appears my code is the same. However, my colors are being output as numbers instead of the text in the list. I don’t see anyone else asking about it, so I must have really messed up!

Please post your formatted code and we will move this to a new topic.

For Step 8, Why would the creation of the list transaction_clean = inside the for loop

change what the for loops are appending? with my current code pasted below the output is the same 3 variables repeated over and over again.

daily_sales_replaced = daily_sales.replace(';,;', '!' ) daily_transactions = daily_sales_replaced.split(',') #print(daily_transactions) daily_transactions_split = [] for i in daily_transactions: daily_transactions_split.append(i.split('!')) #print(daily_transactions_split) transactions_clean = [] transaction_clean = [] for t in daily_transactions_split: #why do i need to create the transaction_clean list here and instead of before the for loop? for x in t: transaction_clean.append(x.replace("\n"," ").strip(' ')) transactions_clean.append(transaction_clean) #print(transactions_clean)

This operation involves appending lists to a list. Nesting is a given in that circumstance. Each new iteration requires an empty slate on which to draw the next list. It starts with that before the inner loop begins.

1 Like

Hi All, can I get a comment on my code for task 22 below? I got the correct output but am keen to get some feedback or see other ways of achieving it. Thanks!

for color in colors:
      if color in thread_sold_split:
        count = color_count(color)     
        print("{count} {color} threads were sold today".format(count=count, color=color))

The if statement is not needed, If the color is not in the other list it will come back with a count of 0.

f-string is a useful way to output that doesn’t require a method or parameters.

print (f"{count} {color} threads were sold today.")

Thanks for the response, I will do some research on f-strings!

1 Like
transactions_clean = []
for transaction in daily_transactions_split:
  transaction_clean = []
  for data_point in transaction:
    transaction_clean.append(data_point.replace('\n', '').strip(' '))
    transactions_clean.append(transaction_clean)
print(transactions_clean)

This results in printing each transaction 4 times, but it seems exactly as it does in the video
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! #splitting individual transactions daily_sales_replaced = daily_sales.replace(";,;",":::") #print(daily_sales_replaced) daily_transactions = daily_sales_replaced.split(',') daily_transactions_clean = [] for x in daily_transactions: daily_transactions_clean.append(x.replace("\n","")) #print(daily_transactions_clean) """splitted transactions list""" daily_transactions_split = [] for x in daily_transactions_clean: daily_transactions_split.append(x.split(':::')) #print(daily_transactions_split) transactions_clean = [] for trans in daily_transactions_split: temp = [] for element in trans: temp.append(element.strip()) transactions_clean.append(temp) #print(transactions_clean) # A clean transaction_clean list has been created customers = [] sales = [] thread_sold = [] for lst in transactions_clean: customers.append(lst[0]) sales.append(lst[1]) thread_sold.append(lst[2]) #print(customers) #print(sales) #print(thread_sold) #Determining total value of sales total_sales = 0 for value in sales: total_sales += float(value[1:]) total_sales = round(total_sales,2) print("The total sales is ${}".format(total_sales)) #Determining number and types of threads sold thread_sold_split = [] def split_and(word): return word.split("&") for thread in thread_sold: if "&" not in thread: thread_sold_split.append(thread) elif "&" in thread: for color in split_and(thread): thread_sold_split.append(color) #print(thread_sold_split) def color_count(color): color_total = 0 for x in thread_sold_split: if x == color: color_total += 1 return color_total #print("The number of white colors is %s" % color_count("white")) colors = [] for color in thread_sold_split: if color not in colors: colors.append(color) colors.sort() """ print("Following are available colors:") print(colors) """ for x in colors: number = color_count(x) print("The number of {color} string sold is {number}".format(color = x,number = number))

Im Having a hard time with this challenge.

daily_sales_replaced = daily_sales.replace(';,;', '-')
daily_transactions = daily_sales_replaced.split(',')

daily_transactions_split = []

for order in daily_transactions:
  daily_transactions_split.append(order.split('-'))

transactions_clean = []

for order in daily_transactions_split:
  transactions_clean = []
  for transaction in order:
    transactions_clean.append(transaction.strip())
  transactions_clean.append(transactions_clean)

print(transactions_clean)