[PIPython] radice quadrata

tiziano a work tiziano
Ven 19 Nov 2004 15:16:54 CET


prendendo il tuo codice come esercizio (si tratta di un famoso metodo 
per la stima della radica quadrata), dovresti modificare il codice in 
questo modo:

a = input('inserisci numero')
b = a / 2
d = 1
while d != 0:
b2 = ((a / b)+b)/2
d = b - b2
print b2
b = b2

la verifica del while non deve essere b==b, che essendo un'identità è 
perpatuamente True; piuttosto devi verificare quando il 'passo n' da 
come nuovo risultato di b lo stesso risultato del 'passo n-1' (ovvero ha 
raggiunto l'aprossimazione massima del metodo per la radice quadrata).
d rappresenta la differenza tra b2 (ovvero il nuovo b) e il vecchio b, e 
ad ogni ciclo viene controllato che non sia 0. E' necessario ogni volta 
riassegnare b al 'nuovo b' (ovvero b2), perché viene utilizzato al ciclo 
successivo.

La mia soluzione è bruttina... ;-) sì può fare meglio, ma intanto questa 
potrebbe esserti più comprensibile.

ciao ciao
tiziano


mario rossi wrote:

>Buon giorno a tutti, vorrei porre una domanda,
>sicuramente banale e scontata.
>Il mio intento è quello di far svolgere a python 
>un calcolo di radice quadrata.
>non conosco e non so usare i moduli,quidi ho scritto
>questo programma:
>a = input('inserisci numero')
>b = a / 2
>while b == b:
>      b = ((a / b)+b)/2
>      print b
>Il risultato me lo restitiusce giusto(un intero)
>pero' il programma non si ferma mai.
>Io volevo digli vai fino a quando b==b.(però fermati
>quando sono uguali)
>Abbiate pazienza se di continuo faccio domande banali
>Grazie anticipatamente per le risposte.
>Ciao
>
>
>
>		
>___________________________________ 
>Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica? Scaricalo ora! 
>http://it.messenger.yahoo.it
>_______________________________________________
>Python mailing list
>Python a lists.python.it
>http://lists.zope.it/cgi-bin/mailman/listinfo/python
>
>  
>




More information about the Python mailing list