Python :: Aufgabe #163 :: Lösung #2

3 Lösungen Lösungen öffentlich
#163

Wurzel ziehen mit Intervallschachtelung

Anfänger - Python von Felix - 11.07.2017 um 21:30 Uhr
Schreibe eine Methode die aus einer Zahl die Wurzel zieht, benutze dafür die Intervallschachtelung.
#2
vote_ok
von ZRX88 (2770 Punkte) - 23.08.2017 um 22:46 Uhr
Quellcode ausblenden Python-Code
import math

def get_numbers(number, lower, upper):
    if lower == 0:
        stellen = 0
    elif not '.' in str(lower):
        stellen = 1
    else:
        stellen =  len(str(lower).split('.')[1]) +1 
    for i in range(9):
        i = i/ math.pow(10,stellen)
        if number >= math.pow(lower + i,2) and number <= math.pow(lower+i+1,2):
            lower = (lower + i)
            upper = lower + i + 1/math.pow(10,stellen)
    return lower, upper

def iterate_over_steps(number, number_steps):
    for i in range(number_steps):
        if i == 0:
            lower = 0
            upper = number
        lower, upper = get_numbers(number, lower, upper)
    
    print('The square root of %f: the lower bound is %f and the upper %f' %(number, lower, upper))

iterate_over_steps(3.12, 30)

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben