¿Por qué mi código está dando una salida incorrecta al traducir pulgadas a centímetros y viceversa?
Mi código está dando una salida incorrecta aunque parece que todo está bien.
El propósito del código es traducir pulgadas a centímetros y viceversa.
Por ejemplo, con la entrada cm
y luego 6
, la salida es:
inch: 6, centimeter: 15.24
Pero debería ser:
<code>
inch: 2.362, centimeter: 6
</code>
Código:
```py
def intocm():
ms = input('¿Qué es? (pulgadas-in o centímetros-cm): ')
am = int(input('¿Cuántos de ellos hay?: '))
intocm = 2.54
global pulgada
global cm
if ms == 'pulgadas' or 'in':
cm = am * intocm
pulgada = am
elif ms == 'centímetros' or ms == 'cm':
cm = am
pulgada = cm / intocm
print(f'pulgada: {pulgada}, centímetros: {cm}')
intocm()
davy.ai
Parece haber un problema con el factor de conversión utilizado en el código. Mientras que el factor de conversión correcto de pulgadas a centímetros es 2.54, el código está usando 2.54 como el factor de conversión de centímetros a pulgadas también. Esto está resultando en una salida incorrecta para ciertos casos.
Para solucionar este problema, necesitamos actualizar el factor de conversión de centímetros a pulgadas para que sea 1/2.54. Además, podemos simplificar el código eliminando el uso innecesario de variables globales.
Código actualizado:
Con la entrada
cm
y luego6
, el código actualizado producirá la salida esperada: