compare dictionaries
pdlemper at earthlink.net
pdlemper at earthlink.net
Wed Sep 8 07:09:59 CEST 2010
On Tue, 7 Sep 2010 12:46:36 -0700 (PDT), Baba <raoulbia at gmail.com>
wrote:
>level: beginner
>
>word= 'even'
>dict2 = {'i': 1, 'n': 1, 'e': 1, 'l': 2, 'v': 2}
>
>i want to know if word is entirely composed of letters in dict2
>
>my approach:
>step 1 : convert word to dictionary(dict1)
>
>step2:
>for k in dict1.keys():
> if k in dict2:
> if dict1[k] != dict2[k]:
> return False
> return True
> return False
> return True
>
Assign letters to their corresponding primes with the
following function -
def alphaprime(c) :
if c == 'a' return 2
elif c == 'b' return 3
elif c == 'c' return 5
...
elif c == 'y' return 97
elif c == 'z' return 101
else : return 0
Using above calculate a composite for the letters in the
dictionary. Of course begin with 1 and multiply by the
associated prime for each letter and repeat for each
recurrence of that letter. Call this dictionarycomposite.
Do the same for the word, parsing sequentially and
multiplying by the prime for each letter. Call this
wordcomposite.
Now if
dictionarycomposite % wordcomposite == 0
the word can be spelled with the letters in the dictionary.
I used this in a word game : works fast.
The Fundamental Theorum of Arithmetic may apply.
Dave WB3DWE
More information about the Python-list
mailing list