1. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Feb 2004
Posts
3
Rep Power
0

syntax error on compiling

hi ,
i am new to Linux and learning Python

I get a syntax error for this line of code

def fib(n): # write Fibonacci series up to n

i used Emacs as the editor on a Redhat ver8.0 OS.

any help is useful , thanks

--vissen
3. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Feb 2004
Posts
3
Rep Power
0
it is one of the examples given in the python tutorial by Guido Rossum which i used to learn. so here is the link
http://www.python.org/doc/current/tut/node6.html
please refer section 4.6 Defining Functions

i just copied this in emacs editor to check if it compiles when i got syntax error.

Code:
```def fib(n):    # write Fibonacci series up to n
"""Print a Fibonacci series up to n."""
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b```
Last edited by netytan; February 16th, 2004 at 05:55 AM.
4. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Feb 2004
Posts
3
Rep Power
0
also tried this unsuccesfully

Code:
```def fib2(n): # return Fibonacci series up to n
"""Return a list containing the Fibonacci series up to n."""
result = []
a, b = 0, 1
while b < n:
result.append(b)    # see below
a, b = b, a+b
return result```
-------
any ideas ??
Last edited by netytan; February 16th, 2004 at 06:00 AM.
5. No Profile Picture
Contributing User
Devshed Novice (500 - 999 posts)

Join Date
Feb 2003
Location
Posts
543
Rep Power
28
Is your code properly indented, like in the example?

Code:
```>>> def fib(n):    # write Fibonacci series up to n
...     """Print a Fibonacci series up to n."""
...     a, b = 0, 1
...     while b < n:
...         print b,
...         a, b = b, a+b
...```
6. You're first example runs fine, no problem at all there. The second version is suffering from indentation arrors. if you insure that you're using 4 spaces for each indentation level it should work perfectly i.e.

Code:
```def fib2(n):
"""Return a list containing the Fibonacci series up to n."""
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a + b
return result

print fib2(10)```
Mark.