Programm Wurzel ziehen geht nur bei bestimmten Zahlen?
Verfasst: Dienstag 15. Juni 2021, 18:18
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:
Danke schonmal im Voraus für eure Hilfe 
Update: es geht nur bei Zahlen in der 3er-Reihe und bei 10, 1000,...?
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,...?