Почему мой код не возвращает значение гипотенузы? - PullRequest
2 голосов
/ 28 апреля 2019

В основном мне нужно вычислить гипотенузу прямоугольного треугольника
Во-первых, мой код определяет, является ли треугольник правильным или нет, а затем, основываясь на длине двух сторон, он вычисляет гипотенузу этого треугольника, но он не возвращает мое значение h, которое мне нужно вернуть в качестве задачи этого упражнения. Я не могу понять, в чем проблема с возвратом h?
Почему код не возвращает его?

Заранее спасибо

angle1 = input("what is a degree of the first angle? : ")
angle2 = input("what is a degree of the second angle? : ")
angle3 = input("what is a degree of the third angle? : ")

a1 = int(angle1)
a2 = int(angle2)
a3 = int(angle3)

length1 = input("what is a length of the first side? : ")
length2 = input("what is a length of the second side? : ")

l1 = int(length1)
l2 = int(length2)


def hypothenuse(a1, a2, a3, l1, l2):
    if a1 != 90 or a2 != 90 or a3 != 90:
        return ("\n sorry, but triangle sould be right -> one agle = 90 degrees")
    else:
        h = l1**2 + l2**2
        return ("The hypothenuse of this triangle is equal to:", h)

hypothenuse(a1, a2, a3, l1, l2)

1 Ответ

5 голосов
/ 28 апреля 2019

Вы возвращаете значение.Проблема в том, что вы не говорите Python, чтобы он отображался.

Вы можете отображать переменные, строки, байты, целые числа и многие другие типы данных с помощью print().

* 1007.* Это то, что вы после использования:
print(hypothenuse(a1, a2, a3, l1, l2))

Как уже упоминалось в комментариях, вы можете хранить его в переменных.

Я бы настоятельно рекомендовал добавить в вашу программу «ловлю ошибок», если пользователь вводит букву, а не что-то, что можно превратить в целое число с помощью int()

Например, еслипод angle1 кто-то ввел a вы получите:

>>> a1 = int(angle1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
>>>

Чтобы предотвратить это, нужно «перехватить» ошибку:

try:
    a1 = int(angle1)
except ValueError:
    print("Please enter an integer")

Не беспокойтесь, если этосейчас он незнаком, он будет появляться по мере изучения Python и станет достаточно легким для понимания.

...