mirror of
https://github.com/ossu/computer-science.git
synced 2024-10-01 01:26:01 -04:00
add lec04.py 01.01.04 readme
This commit is contained in:
parent
5df4978735
commit
cc0defed0f
@ -0,0 +1,102 @@
|
||||
|
||||
##x = 0.5
|
||||
##epsilon = 0.01
|
||||
##low = 0.0
|
||||
##high = x
|
||||
##ans = (high + low)/2.0
|
||||
##while abs(ans**2 - x) >= epsilon and ans <= x:
|
||||
## print 'ans =', ans, 'low =', low, 'high =', high
|
||||
## if ans**2 < x:
|
||||
## low = ans
|
||||
## else:
|
||||
## high = ans
|
||||
## ans = (high + low)/2.0
|
||||
##print ans, 'is close to square root of', x
|
||||
|
||||
##def withinEpsilon(x, y, epsilon):
|
||||
## """x,y,epsilon ints or floats. epsilon > 0.0
|
||||
## returns True if x is within epsilon of y"""
|
||||
## return abs(x - y) <= epsilon
|
||||
|
||||
##print withinEpsilon(2,3,1)
|
||||
##val = withinEpsilon(2,3,0.5)
|
||||
##print val
|
||||
|
||||
##def f(x):
|
||||
## x = x + 1
|
||||
## print 'x =', x
|
||||
## return x
|
||||
##
|
||||
##x = 3
|
||||
##z = f(x)
|
||||
##print 'z =', z
|
||||
##print 'x =', x
|
||||
|
||||
##def f1(x):
|
||||
## def g():
|
||||
## x = 'abc'
|
||||
## x = x + 1
|
||||
## print 'x =', x
|
||||
## g()
|
||||
## assert False
|
||||
## return x
|
||||
|
||||
##x = 3
|
||||
##z = f1(x)
|
||||
|
||||
##def isEven(i):
|
||||
## """assumes i a positive int
|
||||
## returns True if i is even, otherwise False"""
|
||||
## return i%2 == 0
|
||||
|
||||
##def findRoot(pwr, val, epsilon):
|
||||
## """assumes pwr an int; val, epsilon floats
|
||||
## pwr and epsilon > 0
|
||||
## if it exists,
|
||||
## returns a value within epsilon of val**pwr
|
||||
## otherwise returns None"""
|
||||
## assert type(pwr) == int and type(val) == float\
|
||||
## and type(epsilon) == float
|
||||
## assert pwr > 0 and epsilon > 0
|
||||
## if isEven(pwr) and val < 0:
|
||||
## return None
|
||||
## low = -abs(val)
|
||||
## high = max(abs(val), 1.0)
|
||||
## ans = (high + low)/2.0
|
||||
## while not withinEpsilon(ans**pwr, val, epsilon):
|
||||
## #print 'ans =', ans, 'low =', low, 'high =', high
|
||||
## if ans**pwr < val:
|
||||
## low = ans
|
||||
## else:
|
||||
## high = ans
|
||||
## ans = (high + low)/2.0
|
||||
## return ans
|
||||
|
||||
##def testFindRoot():
|
||||
## """x float, epsilon float, pwr positive int"""
|
||||
## for x in (-1.0, 1.0, 3456.0):
|
||||
## for pwr in (1, 2, 3):
|
||||
## ans = findRoot(pwr, x, 0.001)
|
||||
## if ans == None:
|
||||
## print 'The answer is imaginary'
|
||||
## else:
|
||||
## print ans, 'to the power', pwr,\
|
||||
## 'is close to', x
|
||||
|
||||
#testFindRoot()
|
||||
|
||||
##sumDigits = 0
|
||||
##for c in str(1952):
|
||||
## sumDigits += int(c)
|
||||
##print sumDigits
|
||||
|
||||
##x = 100
|
||||
##divisors = ()
|
||||
##for i in range(1, x):
|
||||
## if x%i == 0:
|
||||
## divisors = divisors + (i,)
|
||||
##
|
||||
##print divisors
|
||||
##print divisors[0] + divisors[1]
|
||||
##print divisors[2:4]
|
||||
|
Loading…
Reference in New Issue
Block a user