Parameters not getting passed properly

Here's an excerpt of my code:

def listFrom(here):
    print "[DBG] here: " + here

def book(here, there, amount):
    print "[DBG] here: " + here + "; there: " + there + "; amount: " + str(amount)

# Code that takes input and stores it into the string input

# Yes, I know this is dangerous, but it's part of a
# school assignment where we HAVE to use eval.
eval(input, {"__builtins__": {}, "listAll": listAll, "listFrom": listFrom, "listFromTo": listFromTo, "book": book, "about": about, "commands": commands, "book": book})

If I enter listFrom('LON'), the program returns [DBG] here: LON as expected. However, when I do book('LON', 'MAN', 8) I get an inexplicable [DBG] here: ☺; there: ☻; amount: ♥. What could be the cause of this?

Answers


This code works without problems in Python 2.6 on Linux/x86-32:

>>> def listFrom(here):
...     print "[DBG] here: " + here
... 
>>> def book(here, there, amount):
...     print "[DBG] here: " + here + "; there: " + there + "; amount: " + str(amount)
... 
>>> book('LON', 'MAN', 8)
[DBG] here: LON; there: MAN; amount: 8
>>> input = """book('LON', 'MAN', 8)"""
>>> eval(input, {"__builtins__": {}, "listFrom": listFrom, "book": book})
[DBG] here: LON; there: MAN; amount: 8
>>> eval("""listFrom('LON')""", {"__builtins__": {}, "listFrom": listFrom, "book": book})
[DBG] here: LON

What Python version are you using? On which OS/architecture?


Need Your Help

Jquery Datepicker onselect call function

javascript jquery html jquery-ui datepicker

This is a function I need to call when my JQuery date picker selects both to and from dates: