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(' ')
Update: es geht nur bei Zahlen in der 3er-Reihe und bei 10, 1000,...?