Assuming you're using python3, the input() method returns a string.
So if your user inputs the value 42, input() will return "42", (type 'str').
Then you are converting your string into a list, so going on with the 42 example, you'll have list("42") == ["4", "2"], and you store this list in n.
Anyway, you're not using your variable n anymore:
The for loop that you wrote does not not refer to the n variable you previously created (see namespaces), but creates a new variable which will contain each number in your a list.
this means that you are comparing each number of the list to the whole list:
1 > [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
1 > [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
2 > [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
3 > [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
...
In python3 this will raise a TypeError, and in python2 the behaviour won't be what you expect.
To have your code correctly working, you may take the user input and convert it in an integer, then compare this integer with each number inside your list and append the number to a new list if it is lower than the input integer:
myint = int(input('Please enter a Number: '))
# type(myint) == int
newlist = []
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
# for each (n)umber in list (a):
for n in a:
# if the provided number is higher than the actual number in list (a):
if myint > n:
newlist.append(n)
# print the new list once its fully filled
print(newlist)