Python: String will not convert to float -


i wrote program few hours ago:

while true:     print 'what me double?'     line = raw_input('> ')     if line == 'done':         break     else:         float(line)              #doesn't seem work. why?         result = line*2         print type(line)         #prints string?         print type(result)       #prints string?         print " entered value times 2 ", result  print 'done! enter close' 

as far can tell, should working fine.the issue when input value, example 6, receive 66 instead of 12. seems portion of code:

float(line) 

is not working , treating line string instead of floating point number. i've been doing python day, rookie mistake. help!

float(line) not convert in-place. returns float value. need assign float variable.

float_line = float(line) 

update: better way first check if input digit or not. in case not digit float(line) crash. better -

float_line = none if line.isdigit():     float_line = float(line) else:     print 'error: input needs digit or float.' 

note can catching valueerror exception first forcefully converting line , in except handle it.

try:     float_line = float(line) except valueerror:     float_line = none 

any of above 2 methods lead more robust program.


Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -