> As C Smith notes, raw_input() returns a string. As the name suggests, > it treats its input as raw text, and does not try to interpret it as > data.
Whoops! I slightly misspoke here: I mean to say that it does not try to interpret it as *structured* data. That is, we want things that look like numbers to be treated as numbers. Likewise, we'd like a string that looks like a list of numbers to be treated as a list of numbers. That's the role of a parser, and why we need to do something, such as using the json.loads() function. Others on the list might suggest instead using input() instead of raw_input(), which will try to interpret what you enter in as if it were a Python expression. Effectively, this will also parse the text into structured values. However, although this is a straightforward way to make your program work, I don't think it's a good approach because input() has a hidden use of the infamous "eval()" function embedded in it. Certain inputs to input() can cause your program to do weird things due to its use of eval(), so I think it's best to avoid it. Dunno if you're familiar with all the problems with eval(); if you are interested, ask, and I'm sure there will be a lot of response from the list. Best of wishes to you! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor