Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def polyparse(s,x):
- c = []
- current = ['','0','coefficient']
- for i in s:
- if i in ['0','1','2','3','4','5','6','7','8','9','.']:
- if current[2] == 'coefficient':
- current[0] += i
- elif current[2] == 'exponent':
- current[1] += i
- elif i == x:
- if current[0] == '':
- current[0]=1
- elif current[0] == '-':
- current[0] = -1
- current[2] = 'exponent'
- current[1] = '1'
- elif i == '^':
- current[1] = '0'
- elif i == '+':
- c.append([float(current[0]), int(current[1])])
- current = ['','0','coefficient']
- elif i == '-':
- c.append([float(current[0]), int(current[1])])
- current = ['-','0','coefficient']
- c.append([float(current[0]), int(current[1])])
- return c
- def derivative(poly):
- for i in poly:
- i[0] *= i[1]
- i[1] = i[1]-1
- return poly
- def polyform(poly,x):
- p = ''
- for i in poly:
- if i[0] == 0:
- continue
- if i[0] >= 0:
- p += '+'
- if i[0] == int(i[0]):
- i[0] = int(i[0])
- if i[0] == 1:
- i[0] = ''
- if i[1]==1:
- p += str(i[0]) + x
- elif i[1]== 0:
- p += str(i[0])
- else:
- p += str(i[0]) +x +'^' +str(i[1])
- p = p[1:]
- return p
- while True:
- x = raw_input('Enter your variable: ')[0]
- print 'Derivative: ' + polyform(derivative(polyparse(raw_input('Enter your polynomial: '),x)),x),'\n'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement