Python - No me funciona la conversion de float a int

 
Vista:
Imágen de perfil de Manuel

No me funciona la conversion de float a int

Publicado por Manuel (5 intervenciones) el 23/09/2023 09:45:42
Hola!

no entiendo pq no funciona la conversion de floata int , me podeis decir que hago mal??

1
2
3
4
5
6
7
8
9
el_curso_dalto = input(f'¿Cuanto dura el curso de Dalto? \n\n ')
 
print('\nEl curso de Dalto dura ..' , el_curso_dalto)
 
print('\nEl curso de Dalto dura ..' , float(el_curso_dalto) )
 
int_dalto = int(el_curso_dalto)
 
print('\nEl curso de Dalto dura ..' , int_dalto )



devuelve esta excepcion
1
2
3
4
5
Exception has occurred: ValueError
invalid literal for int() with base 10: '1.5'
  File "/home/manuel/Documentos/CURSO_PYTHON/06-ejercicios_practicos/01-practica.py", line 102, in <module>
    int_dalto = int(el_curso_dalto)
ValueError: invalid literal for int() with base 10: '1.5'
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 388
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No me funciona la conversion de float a int

Publicado por Daniel (111 intervenciones) el 23/09/2023 16:47:47
El problema es que no se puede convertir una cadena con un número real en entero, es decir, esto no funciona
1
int('1.5')

Una forma de evitar el problema es convertir primero a real y después a entero, con lo que se perderá la parte decimal
1
Int(float('1.5'))
, con lo que se tendrá un entero igual a 1. Pero tampoco es una solución definitiva ya que si se introduce un valor que no se puede convertir en real el programa fallará.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel

No me funciona la conversion de float a int

Publicado por Manuel (5 intervenciones) el 25/09/2023 11:08:36
Gracias por contestar,

Con tus indicaciones he resuelto el tema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No me funciona la conversion de float a int

Publicado por Ronald Galeano (5 intervenciones) el 04/10/2023 21:45:00
Es un tema interesante, escribiendo el codigo de esta forma, funciona bien:

1
2
3
4
5
6
try:
    el_curso_dalto = input('¿Cuánto dura el curso de Dalto? \n\n')
    duracion_curso = float(el_curso_dalto)
    print('\nEl curso de Dalto dura:', int(duracion_curso))
except ValueError:
    print('\nPor favor, ingresa un número válido para la duración del curso.')

Y no entiendo por que de esta forma no funciona y no entiendo por que:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
try:
    el_curso_dalto = input(f'¿Cuanto dura el curso de Dalto? \n\n ')
    x=float(el_curso_dalto)
    print('\nEl curso de Dalto dura ..' , el_curso_dalto)
 
    print('\nEl curso de Dalto dura ..' , x )
 
    int_dalto = int(el_curso_dalto)
 
    print('\nEl curso de Dalto dura ...' , int_dalto )
 
 
except ValueError:
    print('\nPor favor, ingresa un número válido para la duración del curso.')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar