Programm Wurzel ziehen geht nur bei bestimmten Zahlen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Daze
User
Beiträge: 2
Registriert: Dienstag 15. Juni 2021, 18:12

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,...?
Daze
User
Beiträge: 2
Registriert: Dienstag 15. Juni 2021, 18:12

nevermind ich habs jetzt einfach einfacher gemacht... Keine Ahnung wieso ich so dumm war, aber trotzdem danke
Antworten