es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Calculando la longitud del lado del triángulo.

Hola, tengo un problema que dice:

PS C:\Users\root\Documents\lpthw> python .\ex3.1.py
Podaj długość: 5
Który bok: przypdl, przypkr, przec: przec
Traceback (most recent call last):
  File "C:\Users\root\Documents\lpthw\ex3.1.py", line 22, in <module>
    find(dl)
  File "C:\Users\root\Documents\lpthw\ex3.1.py", line 13, in find
    przypkr=x/2
TypeError: unsupported operand type(s) for /: 'str' and 'int'

Mi código:

import math
a=0
b=0
x=0
c="abc"
przypdl=0
przypkr=0
przec=0
dl=input("Podaj długość: ")
def find(x):
    c=input("Który bok: przypdl, przypkr, przec: ")
    if c=="przec":
        przypkr=x/2
        przypdl=przypkr*math.sqrt(3)
    elif c=="przypkr":
        przypdl=x*math.sqrt(3)
        przec=x*2
    else:
        przypkr=x/math.sqrt(3)
        przec=przypkr*2
    print(f'przeciwprostokątna: {przec}, krótsza przyprostokątna: {przypkr}, dłuższa przyprostokątna: {przypdl}')
find(dl)

Soy principiante en programación, así que me será muy útil, ¡gracias!
El propósito de mi código es calcular la longitud de un lado del triángulo.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que hay un TypeError al intentar realizar la operación de dividir una cadena por un entero en la línea 13:

    przypkr = x/2

    Esto se debe a que la función de entrada devuelve una cadena, y necesita ser convertida a un tipo de dato numérico antes de realizar operaciones aritméticas sobre ella. Para solucionar esto, se puede usar la función int o float para convertir la entrada en un número:

    dl = float(input("Podaj długość: "))

    Esto convertirá la cadena de entrada en un número de punto flotante, que se puede utilizar en operaciones aritméticas.

    Además, es posible que desee considerar el uso de nombres de variables más descriptivos para hacer que su código sea más fácil de entender y mantener. En lugar de “a”, “b” y “c”, se pueden usar nombres que describan el propósito de la variable, como “lado_del_triangulo”, “pierna_corta”, “pierna_larga” y “que_lado”.

Comments are closed.