<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/5 <a href="mailto:dunkan.mccloud@tiscali.it">dunkan.mccloud@tiscali.it</a> <span dir="ltr"><<a href="mailto:dunkan.mccloud@tiscali.it" target="_blank">dunkan.mccloud@tiscali.it</a>></span><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">grazie a tutti anticipatamente.<br>
sto imparando python<br>
vorrei capire<br>
perchè queste righe mi danno errore:<br>
--------------------------------<br>
<br>
somma = 0.0<br>
data = 0.0<br>
while data != "":<br>
    somma += float(input<br>
("numero: "))<br>
print ("somma -> ", somma)<br>
<br>
--------------------------------<br>
<br>
l'errore è:<br>
<br>
  File "sommapy.py",<br>
line 4, in <module><br>
    somma += float(input ("insert number: "))<br>
<br>
ValueError: could not convert string to float:<br></blockquote><div><br></div><div><br></div><div>Il motivo per il quale vedi quell'errore è perché stai cercando di convertire una str in float, di preciso, sta cercando di convertire il "" che usi per interrompere il while in float (btw, il codice che hai passato non è completo, giusto?):</div>

<div><br></div><div>phantom /tmp $ python2.7 test.py</div><div>numero: 12</div><div>('somma -> ', 12.0)</div><div>numero: "" <---------- float("")</div><div>Traceback (most recent call last):</div>

<div>  File "test.py", line 4, in <module></div><div>    somma += float(input("numero: "))          <---------- float("")</div><div>ValueError: could not convert string to float:</div>

<div><br></div><div>Un'altra cosa che si vede dal codice è che data non sarà mai "" perché ciò che prendi da input lo stai subito convertendo a float e sommando a somma.</div><div><br></div><div>Ti sconsiglio l'uso di input. In python, input è uguale a fare eval(raw_input()) perciò, tutto ciò che prendi da input verrà interpretato come codice Python. Piuttosto, ti consiglio di usare raw_input, prendere l'input dell'utente e fare il cast a float lato codice (facendo i vari try / except del caso).  </div>

</div><div class="gmail_extra"><br></div></div><div class="gmail_extra">-- <br><div dir="ltr"><span style="border-collapse:separate;border-spacing:0px"><div><font><font face="arial, helvetica, sans-serif">Flavio (@flaper87) Percoco</font></font></div>

<div style="font-family:Helvetica"><a href="http://www.flaper87.org" rel=" noreferrer" target="_blank"><font>http://www.flaper87.org</font></a></div><div style="font-family:Helvetica"><a href="http://github.com/FlaPer87" rel=" noreferrer" target="_blank"><font>http://github.com/FlaPer87</font></a><br>

</div></span></div>
</div></div>