Aspects of Lisp
Pen and Paper in Pairs
x = 3
def foo(z):
y = x + 1
return y * z
print(foo(5), x)
x = 3
def foo(z):
x = 4
y = x + 1
return y * z
print(foo(5), x)
x = 3
def foo(z):
global x
x = 4
y = x + 1
return y * z
print(foo(5), x)
x = 3
def foo(z):
y = x + 1
x = 4
return y * z
print(foo(5), x)
Binding variables locally
from math import sqrt
def roots(a, b, c):
"""Find the roots of a quadratic equation with coefficients a, b, c"""
discriminant = b**2 - 4 * a * c
return (
((-b + sqrt(discriminant)) / (2 * a)),
((-b - sqrt(discriminant)) / (2 * a)),
)
roots(1, -3, 2)
(2.0, 1.0)
Aspects of Lisp
etc
- wtfpython
- Ungraded Assignment on Lisp packaging and pattern matching
- Jotter