Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python
#9
The problem with your loop is that in "while n>p" you reassign neither N nor P, so you never break out of the loop.

Code:
#Calculate sen(x)

inputValue = 0.5236
precision = 0.01

loopCounter = 1
finalValue = 0
mathSymbol = 'add'
while True:
    #Create numerator
    numerator = (inputValue**loopCounter)

    #Create denominator
    denominator = 1    
    for i in range(1, loopCounter+1):
        denominator *= i

    #Perform division
    fractionResult = float(numerator) / float(denominator)
    loopCounter += 2

    #Save the previous value to affirm precision
    prevValue = finalValue

    #Perform addition or subtraction
    if mathSymbol == 'subtract':
        finalValue -= fractionResult
        mathSymbol = 'add'
    elif mathSymbol == 'add':
        finalValue += fractionResult
        mathSymbol = 'subtract'

    #Affirm precision
    if loopCounter > 3:
        if precision > abs(prevValue) - abs(finalValue):
            print("OUTPUT: %0.12f" % finalValue)
            break

Or, if you can use imports

Code:
[b]import math[/b]

#Calculate sen(x)

inputValue = 0.5236
precision = 0.01

loopCounter = 1
finalValue = 0
mathSymbol = 'add'
while True:
    #Create numerator
    numerator = (inputValue**loopCounter)

    [b]#Create denominator
    denominator = math.factorial(loopCounter)  [/b]

    #Perform division
    fractionResult = float(numerator) / float(denominator)
    loopCounter += 2

    #Save the previous value to affirm precision
    prevValue = finalValue

    #Perform addition or subtraction
    if mathSymbol == 'subtract':
        finalValue -= fractionResult
        mathSymbol = 'add'
    elif mathSymbol == 'add':
        finalValue += fractionResult
        mathSymbol = 'subtract'

    #Affirm precision
    if loopCounter > 3:
        if precision > abs(prevValue) - abs(finalValue):
            print("OUTPUT: %0.12f" % finalValue)
            break
Reply


Messages In This Thread
Python - by Manu - 2011-03-30, 03:19 PM
Python - by Fiel - 2011-03-30, 03:40 PM
Python - by Manu - 2011-03-30, 03:54 PM
Python - by Fiel - 2011-03-30, 04:04 PM
Python - by Manu - 2011-03-30, 07:03 PM
Python - by Fiel - 2011-03-30, 07:16 PM
Python - by Manu - 2011-03-30, 08:11 PM
Python - by Manu - 2011-03-31, 08:16 PM
Python - by Fiel - 2011-04-01, 03:12 AM
Python - by Manu - 2011-04-01, 08:27 PM
Python - by Fiel - 2011-04-01, 08:38 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)