Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
There is a simpler method. First, it is enough to create a list, although a dict can also be created using this method.
You wrap what you copied from the site in quotes, and then work with the result as a string.
With the help of regular expressions, you remove all unnecessary things - numbers, hyphenation - leaving only the names of the fruits and the spaces between them.
And finally, you can use the usual replace, replacing spaces with quotation marks, commas, and spaces.
This comment is hidden because it contains spoiler information about the solution
This comment is hidden because it contains spoiler information about the solution
Well don't I feel silly!! XD
This is a great use of Excel. I'm not quite sure why you populate column B with a : instead of just using ":" in the concat function, though. Since the trailing comma is fine, syntactically, and sometimes even desirable, I wouldn't have bothered with the IF statement at the end.
Since I'm now critiquing it, I'll also point out that it only works (as written) for numeric keys and string values. (You could have colume D be key:value, E be "key":value and F be key:"value" and just pick the column you want, or you could get really fancy with ifs in the concat statement to allow a mix of types...)
Anyway, all criticism aside, Excel is a fantastic tool for repetitive programming tasks and thanks for sharing your technique.
When creating large dictionaries, I use Excel.
Example:
A1 = key, B1 = : , C1 = value
Copy for each set (next set would be in row 2, then 3 and so on)
D1 = CONCAT(A1,B1,CHAR(34),C1,CHAR(34),IF(D2="","",","))
---Hold the bottom right corner of D1 and drag down to Auto-Fill (in my example, drag to D5)
---result is key:"value" if the cell below is empty, otherwise it will be key:"value",
---CHAR(34) is for the quotes
Code=CONCAT(A1,B1,CHAR(34),C1,CHAR(34),IF(D2="","",","))
Example= key + : + " + value + " + (if cell below is empty: "" else ",") = key:"value",
E1 = CONCAT("{",D1:D5,"}") #D5 would be my last row
result = {key:"value",key:"value",key:"value"...}
Keep the sheet and re-use for other dictionaries. Just update the D1:D5 range.
Let me show you for this kata:
A1 = 1, B1 = : C1 = "kiwi" and so on...
result={1:"kiwi",2:"pear",3:"kiwi",4:"banana",5:"melon"}
This comment is hidden because it contains spoiler information about the solution
Use spoiler flag next time please. Your post was visible in the homepage.
This comment is hidden because it contains spoiler information about the solution
This comment is hidden because it contains spoiler information about the solution
How did you create the dictionary, or did you just do it manually?
None should equal...
means your code returnsNone
, in general it means it returns nothing. You need toreturn
the result, not print.Does anyone know why it doesn't pass the test?
Test Results:
Example Tests
Log
['as', 'df', 'ad', 'sf']
None should equal ['as', 'df', 'ad', 'sf']