[Tutor] Question about comparing values
Becky Mcquilling
ladymcse2000 at gmail.com
Mon May 23 06:13:37 CEST 2011
Thanks, you are correct of course. I need to just scrap this and start
over, but I understand it a lot better now.
On Sun, May 22, 2011 at 4:57 PM, Alan Gauld <alan.gauld at btinternet.com>wrote:
> "Becky Mcquilling" <ladymcse2000 at gmail.com> wrote
>
> I'm doing a tutorial and was given a problem, using shelve.
>>
>
> Remember that a shelve is basically a dictionary stored
> in a file rather than in memory. So treat it like you would
> a dictionary.
>
>
> Here is what I have so far:
>>
>> import shelve
>>
>> def user_scores():
>> user_name = input ("What is the user name?").rstrip()
>> scores = int(input("What is the users score, enter 0 if done"))
>> shelf = shelve.open('scores.py', writeback=True)
>> score = [scores]
>>
>
> I've no idea what you think this is doing?
> Its actually creating a single valued list and assigning that to score.
> Is that what you intended? If so why?
>
>
> user = {user_name:score}
>> shelf['user'] = user
>>
>
> This is storing a single dictionary under the key 'user'.
> Wouldn't it be easier to store the score under
> the key user_name? That way you could store
> more than one value. As it is you can only ever
> have a single entry for 'user' in your shelf.
>
>
>
> shelf.close()
>> while scores > 0:
>> scores = int (input("What is the next score"))
>> shelf = shelve.open('scores.py', writeback=True)
>> score.append(scores)
>>
>
> OK, so now you append more scores to the liist,
> but I still don't get why you need a list?
>
> shelf['score'] = score
>>
>
> And now you add a new entry under 'score' which is the
> list of scores.
>
> shelf.sync()
>> shelf.close()
>>
>
> So at the end you haven't read anything from your shelf
> but you have written two entries, one with a dictionary
> of name and list. The other with a list of scores where
> the first value happens to be the same as the one stored
> under 'user'
>
> And in memory you still have that raw data, at least
> until you exit the function...
>
>
> What I'm not sure of is how to compare the values
>> of score, to find and print the one that is highest.
>>
>
> I think you have far bigger problems to solve than that!
>
> --
> Alan Gauld
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
>
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110522/9449ae47/attachment-0001.html>
More information about the Tutor
mailing list