Forum >> Principianti >> esercizio how to think like a computer scientist

Pagina: 1

Ciao a tutti, mi sto cimentando da pochi giorni con Python usando come traccia il libro "How to think like a computer scientist" e ho riscontrato problemi sull'esercizio in cui richiede di trovare la distanza tra due punti.



in particolare, se digito le seguenti righe su IDLE, funziona:





>>> x1=1

>>> x2=2

>>> y1=3

>>> y2=4

>>> import math

>>> d=math.sqrt((x2-x1)**2+(y2-y1)**2)

>>> print d

1.41421356237

>>>





se invece compilo su un editor di testo il seguente script ottengo degli errori che non riesco a comprendere:




ecco il testo dello script:





import math




def distanza(x1,x2,y1,y2):

r=math.sqrt((x2-x1)**2+(y2-y1)**2)

return r




x1=raw_input ("x1")

x2=raw_input ("x2")

y1=raw_input ("y1")

y2=raw_input ("y2")




print distanza(x1,x2,y1,y2)





ed ecco l'errore ottenuto:





x11

x22

y13

y24




Traceback (most recent call last):

File "C:\distanza.py", line 12, in <module>

print distanza(x1,x2,y1,y2)

File "C:\distanza.py", line 4, in distanza

r=math.sqrt((x2-x1)**2+(y2-y1)**2)

TypeError: unsupported operand type(s) for -: 'str' and 'str'

>>>





cosa sto sbagliando??




grazie in anticipo per l'aiuto


--- Ultima modifica di Arnold87 in data 2017-05-06 20:38:21 ---

--- Ultima modifica di Arnold87 in data 2017-05-06 20:40:43 ---
utilizzando input anziché raw_input il programmino ha funzionato correttamente. raw_input mi permette di inserire solo stringhe?
utilizzando input anziché raw_input il programmino ha funzionato correttamente. raw_input mi permette di inserire solo stringhe?
Guardati questa risposta che ti potrebbe chiarire alcune cose.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.