Seite 1 von 1

Programm Wurzel ziehen geht nur bei bestimmten Zahlen?

Verfasst: Dienstag 15. Juni 2021, 18:18
von Daze
Hey,
ich hab ein kleines Problem. Ich sollte ein Programm fürs Wurzel ziehen schreiben, aber sitze schon viel zu lange an dem selben Problem. Und zwar funktioniert das Programm leider nur bei bestimmten Zahlen und ich weiß halt nicht was ich falsch gemacht habe.
Beispiel für funktionierende Zahlen: 93, 9, 100, 1000, 108,...
Beispiel für nicht funktionierende Zahlen: 1001, 990, 197, 26,...
und hier der Code:

Code: Alles auswählen

def heron(startzahl, hilf):
    wurzel = (1/2) * (hilf + (startzahl/hilf))
    return(wurzel)
überprüfung = False
while überprüfung == False:
    print('Bitte geben Sie die Zahl ein, aus der ich die Wurzel ziehen soll:')
    inputzahl = float(input())
    if inputzahl <= 0:
        print('Bitte geben Sie nur positive Zahlen ein!')
        print(' ')
    else:
        überprüfung == True
        hilfe = ( 1 + inputzahl ) /2
        while hilfe * hilfe != inputzahl:
            hilfe = heron(inputzahl, hilfe)
            if hilfe * hilfe == inputzahl:
                gerundet =  round(hilfe, 3)
                print('Eingegebene Zahl: ' + str(inputzahl))
                print('Die Wurzel der Zahl ist genau: ' + str(hilfe),'was gerundet', gerundet, 'ergibt.')
                print('Berechnung:', str(hilfe) + ' * ' + str(hilfe) + ' = ' + str(hilfe * hilfe))
                print(' ')
 
Danke schonmal im Voraus für eure Hilfe :)
Update: es geht nur bei Zahlen in der 3er-Reihe und bei 10, 1000,...?

Re: Programm Wurzel ziehen geht nur bei bestimmten Zahlen?

Verfasst: Dienstag 15. Juni 2021, 19:10
von Daze
nevermind ich habs jetzt einfach einfacher gemacht... Keine Ahnung wieso ich so dumm war, aber trotzdem danke