Не могу использовать конкретные значения для расчета с различными переменными - PullRequest
1 голос
/ 04 октября 2019

Я получаю сообщение об ошибке, которое говорит мне, что я не могу умножить две переменные на определенное значение.

TypeError: can't multiply sequence by non-int of type 'str'

Я пытаюсь сделать теорему Пифагора внутри python для школы. Мне нужно иметь его внутри числа с плавающей точкой, чтобы получить десятичное число.

Я уже пробовал пару разных вещей, - я поместил это в пару значений, int, string, float и т. Д. - Я просто попробовал много разных вещей, это лучшее, что яполучил это далеко.

l_1 = float(input())
l_1 = float(l_1)
l_1 = str(l_1)
print ("The long side is: " + l_1)
l_2 = float(input())
l_2 = float(l_2)
l_2 = str(l_2)
print ("The short side is: " + l_2)
l_2 = int(l_2)
l_1 = int(l_1)

l_1 = int(l_1)
l_2 = int(l_2)

wor1 = math.sqrt(l_1 * l_1 - l_2 * l_2)
print (wor1)

Я ожидаю, что на выходе будет фактическим ответом без каких-либо кодов ошибок, мне просто нужно рассчитать с переменными, которые ему даны.

Ответы [ 2 ]

1 голос
/ 04 октября 2019

Несколько изменений в коде, и вы готовы идти вперед.

Обратите внимание, что при вычислении квадратного корня будьте осторожны, передавая абсолютную разницу квадратов в функции sqrt. Используя это, вы можете удалить соглашение маленькой и большой стороны. Просто возьмите две стороны, и код справится с этим за вас.

import math

l_1 = float(input())
print ("The long side is: " + str(l_1))
l_2 = float(input())
print ("The short side is: " + str(l_2))

difference = float(l_1 * l_1 - l_2 * l_2)
# Take absolute difference since square roots of negative numbers are undefined
absolute_difference = math.fabs(difference)

# Get square root of the absolute difference 
wor1 = math.sqrt(absolute_difference)
print (wor1)
1 голос
/ 04 октября 2019

просто выведите значения с плавающей запятой iself, нет необходимости преобразовывать их в строку в первую очередь

l_1 = float(input())
print ("The long side is: ", l_1)
l_2 = float(input())
print ("The short side is: ", l_2)

wor1 = math.sqrt(l_1 * l_1 - l_2 * l_2)
print (wor1)
...