Why isn't this code working how I want it to?
Mark Lawrence
breamoreboy at yahoo.co.uk
Sat Oct 12 05:39:48 EDT 2013
On 12/10/2013 09:56, reubennottage at gmail.com wrote:
> I've been working on a program and have had to halt it due a slight problem. Here's a basic version of the code:
>
> a = 'filled'
> b = 'filled'
> c = 'empty'
> d = 'empty'
> e = 'filled'
> f = 'empty'
> g = 'filled'
>
> testdict = {a : 'apple' , b : 'banana' , c : 'cake' , d : 'damson' , e : 'eggs' , f : 'fish' , g : 'glue'}
>
> Now what I want to do, is if a variable is filled, print it out. This however isn't working how I planned. The following doesn't work.
>
> for fillempt in testdict:
> if fillempt == 'filled':
> print(testdict[fillempt])
>
> All this does though, is print glue, where I'd want it to print:
>
> apple
> banana
> eggs
> glue
>
> Perhaps a dictionary isn't the best way to do this.. I wonder what else I can do...
>
> Thanks for any help.
>
You've effectively set up a dictionary with keys 'filled' and 'entries'
which you can see if you run this loop
for key, value in testdict.items():
print(key, value)
which gives me this
empty fish
filled glue
I'm too lazy to type anything else so please refer to this
http://stackoverflow.com/questions/843277/how-do-i-check-if-a-variable-exists-in-python.
I'll also leave the argument over whether it's a variable or a name to
others :)
--
Roses are red,
Violets are blue,
Most poems rhyme,
But this one doesn't.
Mark Lawrence
More information about the Python-list
mailing list