Я пытаюсь создать небольшой фрагмент кода, который использует теорему pythagoras для вычисления длины гипотенузы треугольника и угла, противоположного высоте. Для этого пользователь должен ввести длину и ширину треугольника. Я хочу определить функцию, чтобы все это можно было назвать частью более крупной программы. Вот код:Определение функции Python с пользовательским вводом
def ex1() :
from math import sqrt, atan, degrees
print("""Hello, this is a program that will calculate the length of the
hypotenuse of a triangle given the width and height of the triangle.
It will also calculate the angle opposite the height and adjacent to the width.
""")
myWidth = float(input("Please input the width of the triangle: "))
myHeight = float(input("Please input the height of the triangle: "))
hyp = sqrt(((myWidth**2) + (myHeight**2)))
angle = degrees(atan(myHeight/myWidth))
print("\nThe length of the hypotenuse is " + "%.1f" % hyp + " units")
print("\nThe size of the angle opposite the height and \nadjacent to the width is " + "%.1f" % angle + " degrees to 1 decimal place")
input = input("Press enter to end the program\n")
Может кто-нибудь объяснить мне, что, когда я звоню, он выдает эту ошибку у меня:
UnboundLocalError: local variable 'input' referenced before assignment
Заранее большое спасибо
Какую версию python вы используете? Если его '3.x' и выше только тогда будут' input' работать. Не назначайте последнюю строку переменной (т.е. второй оператор 'input'. Если вы все еще хотите, используйте другую переменную – Beginner
Это, это Python 3.3.2, поэтому я не могу определить несколько пользовательских входов? Хорошо, я попробую это с завершением программы. –
Всегда избегайте использования ключевых слов python в качестве имени переменной. 'Input' - это ключевое слово, и это делает это большой нет, как выбор «переменной» – Beginner